Змінні оточення в 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

env2

Інший спосіб створити змінну - команда export. Видалимо її присвоївши пусте значення:


$ Echo $ VAR
$ VAR = "$ Echo $ VAR

env1

Відео: LPIC 105.1 частина четверта. Bash: змінні




Тепер створимо змінну VAR2 також поставимо їй значення. А потім тимчасово видалимо всі локальні змінні виконавши env -i. Вона запустить оболонку без будь-яких змінних. Після введення exit всі змінні будуть відновлені.

$ VAR2 = `Losst`
$ Echo $ VAR2
$ Env -i bash
$ Echo $ VAR2

env4

Установка і видалення призначених для користувача змінних

Відредагуйте файл .bashrc, у вашій домашній директорії, додавши команду export, для експортування потрібної змінної. Потім виконайте команду source для застосування змін. Створимо, наприклад, змінну CD:

export CD = `This is Losst Home`

Тепер залишилося оновити конфігурацію:


$ Echo $ CD

env5

Для видалення цієї змінної просто видаліть її з .bashrc.

Тепер додамо змінну оточення за допомогою .bash_profile. Ця змінна, як ви вже знаєте буде доступна тільки при віддаленому вході:

$ Vi .bash_profile

Додайте рядок:

$ Source .bash_profile
$ Echo $ VAR2

Мінлива недоступна, так як ви створили локальну термінальну сесію, тепер підключіться по ssh:


$ Echo $ VAR2

env7

Видалити цю змінну оточення можна так само як і в попередньому випадку, видаливши її з файлу.

зауваження: Ці змінні доступні завжди, але не для всіх користувачів.

Установка і видалення системних змінних оточення

Створимо змінну, доступну для всіх користувачів, у всіх термінальних сесіях, окрім віддалених, додаванням її в /etc/bash.profile:

$ Vi /etc/bash.profile$ source /etc/bash.bashrc

Тепер ця змінна доступна для всіх користувачів, у всіх терміналах:


$ Sudo su
$ Echo $ VAR
$ Su;
$ Echo $ VAR

env8

Якщо ви хочете зробити змінну оточення доступною для всіх користувачів, які підключаються до цієї машини віддалено, відредагуйте файл / etc / profile:

$ Vi / etc / profile $ source / 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

env9

Як бачите, змінна доступна і для локальних користувачів і віддалено.

висновки

За допомогою цих кількох способів ми можемо змінити змінні оточення. Якщо ви знаєте інші цікаві способи це зробити, поділіться в коментарях!

>
Поділися в соціальних мережах:

Схожі
Використання групової політики для розширення можливостей "консолі відновлення"Використання групової політики для розширення можливостей "консолі відновлення"
Установка lxqt в ubuntu 16.04Установка lxqt в ubuntu 16.04
Команда ftype - перегляд і зміна розширень файлів і зіставлених їм додатківКоманда ftype - перегляд і зміна розширень файлів і зіставлених їм додатків
Видаляємо невикористовувані драйвера в windows 7Видаляємо невикористовувані драйвера в windows 7
Змінні в cssЗмінні в css
Довідкові змінні phpДовідкові змінні php
Оператор еквівалентності phpОператор еквівалентності php
Що таке less?Що таке less?
Права суперкористувача linuxПрава суперкористувача linux
Налаштування завантажувача grubНалаштування завантажувача grub
» » Змінні оточення в linux