Змінні оточення в 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
Установка lxqt в ubuntu 16.04
Видаляємо невикористовувані драйвера в windows 7
Змінні в css
Довідкові змінні php
Оператор еквівалентності php
Що таке less?
Права суперкористувача linux