Змінні оточення в linux
Змінні оточення в Linux - це спеціальні змінні, визначені оболонкою і використовувані програмами під час виконання. Вони можуть визначатися системою і користувачем. Системні змінні оточення Linux визначаються системою і використовуються програмами системного рівня.
Наприклад, команда PWD використовує системну змінну, щоб зберігати колишню робочу директорію. Змінні оточення встановлюються користувачем, для поточної оболонки, тимчасово або постійно. Вся концепція додавання і видалення змінних оболонки крутиться навколо декількох файлів, команд і різних оболонок.
Якщо дивитися більш широко, змінна оточення може бути трьох типів:
Відео: Навчися Linux: змінні оточення (епізод 10)
1. Локальні змінні оточення
Ці змінні визначені лише для поточної сесії. Вони будуть безповоротно стерті після завершення сесії, будь то віддалений доступ або емулятор терміналу. Вони не зберігаються ні в яких файлах, а створюються і видаляються за допомогою спеціальних команд.
2. Призначені для користувача змінні оболонки
Ці змінні оболонки в Linux визначаються для конкретного користувача і завантажуються кожен раз коли він входить в систему за допомогою локального терміналу, або ж підключається віддалено. Такі змінні, як правило, зберігаються в файлах конфігурації: .bashrc, .bash_profile, .bash_login, .profile або в інших файлах, розміщених в директорії користувача.
3. Системні змінні оточення
Ці змінні доступні у всій системі, для всіх користувачів. Вони завантажуються при старті системи з системних файлів конфігурації: / etc / environment, / etc / profile, /etc/profile.d/ /etc/bash.bashrc.
Файли змінних оточення Linux
Тут ми коротко розглянемо різні конфігураційні файли, перераховані вище, які використовуються для настройки змінних оточення для всієї системи або конкретного користувача.
.bashrc
Це файл змінних конкретного користувача. Завантажується кожен раз, коли користувач створює термінальний сеанс, тобто простіше кажучи, відкриває новий термінал. Всі змінні оточення, створені в цьому файлі вступають в силу кожного разу коли почалася нова термінальна сесія.
.bash_profile
Ці змінні вступають в силу кожного разу коли користувач підключається віддалено по SSH. Якщо його немає система буде шукати .bash_login або .profile.
/ Etc / environment
Цей файл для створення, редагування та видалення будь-яких змінних оточення на системному рівні. Змінні оточення, створені в цьому файлі доступні для всієї системи, для кожного користувача і навіть при віддаленому підключенні.
/etc/bash.bashrc
Системний bashrc. Цей файл виконується для кожного користувача, кожен раз коли він створює нову термінальну сесію. Це працює тільки для локальних користувачів, при підключенні через інтернет, такі змінні не будуть видні.
/ Etc / profile
Системний файл profile. Всі змінні з цього файлу, доступні будь-якому користувачеві в системі, тільки якщо він увійшов віддалено. Але вони не будуть доступні, при створенні локальної термінальній сесії, тобто якщо ви просто відкриєте термінал.
Всі змінні оточення Linux створені за допомогою цих файлів, можуть бути видалені лише видаленням їх звідти. Тільки після кожної зміни, потрібно або вийти і зайти в систему, або виконати цю команду:
$ Var = значення$ Export var = значення
Ці змінні будуть доступні тільки для поточної термінальній сесії.
Для видалення змінних оточення можна використовувати кілька команд:
1. Використання env
За замовчуванням за допомогою env можна подивитися всі встановлені змінні середовища. Але з опцією -i вона дозволяє тимчасово видалити всі змінні оболонки і виконати команду без змінних.
$ Env -i bashПісля запуску такого оточення, що не буде доступно жодних змінних, але після виходу все повернеться на свої місця.
2. Використання unset
Це інший спосіб видалення змінних оточення Linux. Unset видаляє змінну по імені до кінця поточної сесії:
$ VAR1 = `Losst`$ Echo $ VAR1
$ Unset VAR1
$ Echo $ VAR1
Інший спосіб створити змінну - команда export. Видалимо її присвоївши пусте значення:
$ Echo $ VAR
$ VAR = "
$ Echo $ VAR
Відео: LPIC 105.1 частина четверта. Bash: змінні
Тепер створимо змінну VAR2 також поставимо їй значення. А потім тимчасово видалимо всі локальні змінні виконавши env -i. Вона запустить оболонку без будь-яких змінних. Після введення exit всі змінні будуть відновлені.
$ Echo $ VAR2
$ Env -i bash
$ Echo $ VAR2
Установка і видалення призначених для користувача змінних
Відредагуйте файл .bashrc, у вашій домашній директорії, додавши команду export, для експортування потрібної змінної. Потім виконайте команду source для застосування змін. Створимо, наприклад, змінну CD:
export CD = `This is Losst Home`Тепер залишилося оновити конфігурацію:
$ Echo $ CD
Для видалення цієї змінної просто видаліть її з .bashrc.
Тепер додамо змінну оточення за допомогою .bash_profile. Ця змінна, як ви вже знаєте буде доступна тільки при віддаленому вході:
Додайте рядок:
$ Source .bash_profile$ Echo $ VAR2
Мінлива недоступна, так як ви створили локальну термінальну сесію, тепер підключіться по ssh:
$ Echo $ VAR2
Видалити цю змінну оточення можна так само як і в попередньому випадку, видаливши її з файлу.
зауваження: Ці змінні доступні завжди, але не для всіх користувачів.
Установка і видалення системних змінних оточення
Створимо змінну, доступну для всіх користувачів, у всіх термінальних сесіях, окрім віддалених, додаванням її в /etc/bash.profile:
Тепер ця змінна доступна для всіх користувачів, у всіх терміналах:
$ Sudo su
$ Echo $ VAR
$ Su;
$ Echo $ VAR
Якщо ви хочете зробити змінну оточення доступною для всіх користувачів, які підключаються до цієї машини віддалено, відредагуйте файл / etc / profile:
$ Echo $ VAR1
Якщо потрібно додати змінну оточення в Linux, так щоб вона була доступна і віддалено, і для локальних сесій, експортуйте її в / etc / environment:
Відео: Урок 7. Командні оболонки. заняття перше
export VAR12 = `I am available everywhere`перевіряємо:
$ Echo $ VAR12
$ Sudo su
$ Echo $ VAR12
$ exit
$ Ssh localhost
$ Echo $ VAR12
Як бачите, змінна доступна і для локальних користувачів і віддалено.
висновки
За допомогою цих кількох способів ми можемо змінити змінні оточення. Якщо ви знаєте інші цікаві способи це зробити, поділіться в коментарях!
>- Setx - створення або зміна змінних середовища windows
- Видалення драйверів в системі windows xp
- Команда set - робота зі змінними середовища windows
- Видаляємо невикористовувані драйвера в windows 7
- Команда ftype - перегляд і зміна розширень файлів і зіставлених їм додатків
- Що таке less?
- Команда endlocal - скасування локальних змін змінних середовища для поточного командного файлу.
- Установка gnome archlinux
- Використання групової політики для розширення можливостей "консолі відновлення"
- Налаштування завантажувача grub
- Корисні alias linux
- Відбувся реліз linux mint 17.3 xfce і kde edition
- Установка lxqt в ubuntu 16.04
- Права суперкористувача linux
- jаvascript змінні
- Змінні в css
- Написання скриптів оболонки - поради експертів
- Оператор еквівалентності php
- Глобальні змінні в php
- Довідкові змінні php
- Створення змінних в php