Переменные окружения в Linux
Переменные окружения (environment variable) используются для хранения общих значений переменных в пределах разных сценариев и программ. Такие переменные можно устанавливать на время, например на период работы конкретной оболочки терминала, или на период сессии пользователя, либо же установить переменную окружения на глобальном уровне - для всей системы.
Переменные окружения
$HOME- Переменная содержит путь к домашнему каталогу текущего пользователя.
$USER- Имя текущего пользователя
$PATH- Список каталогов для поиска оболочкой исполняемых программ.
$PWD- Путь к текущему рабочему каталогу (либо pwd). Пример:
dir_path=$(pwd). $SHELL- Интерпретатор по умолчанию
$RANDOM- Генерирует рандомное число 0..32767 при каждом доступе к переменной.
$SECONDS- Время в сек. с момента запуска командной оболочки.
- $?
- Результат выполнения предыдущей команды.
$HOSTNAME- Имя компьютера
$HISTFILE- Путь к файлу истории интерпретатора
$IFS- Список символов-разделителей команд, параметров, элементов массива (по умолчанию: пробел, таб, новая строка)
$PS1- Шаблон строки приглашения интерпретатора.
Временная установка переменной окружения
Установка переменной окружения на период сессии:
# Для нового процесса
env имя_переменной=значение [команда]
# Для текущей оболочки и всех ее подпроцессов
export имя_переменной=значение [команда]Значение переменной сохраняется до перезагрузки системы.
Установка постоянного значения
Переменные окружения на уровне системы устанавливаются через файл /etc/environment:
ENVIRONMENT="dev"
Установка переменной окружения для конкретного пользователя через файл ~/ или .bashrc~/.bash_profile:
PATH="{$PATH}:/home/user/bin:"Внимание!
Файл ~/.bash_profile будет выполнен при запуске интерпретатора с ключом -l. При локальном входе этот файл не читается!
Также нужно помнить, что изменения вступят в силу только после перезагрузки сеанса!
Просмотр значения переменной окружения
Для просмотра значения переменной окружения есть команда printenv:
printenv <имя_переменной>#shell, #bash, #environment