Bash (Bourne-again Shell) - POSIX-совместимая командная оболочка. Bash работает в одном из двух режимов:
login shell:
/etc/profile - Cистемный, исполняется первым.~/.bash_profile - Пользовательский, исполняется после /etc/profile. Если не существует, проверяются ~/.bash_login и ~/.profile (в указанном порядке). Файл-образец /etc/skel/.bash_profile содержит также указание на исполнение файла ~/.bashrc.~/.bash_logout - Пользовательский, исполняется после выхода из оболочки входа./etc/bash.bash_logout - Системный, исполняется после выхода из оболочки входа. Зависит от флага компиляции -DSYS_BASH_LOGOUT=«/etc/bash.bash_logout».interactive shell:
/etc/bash.bashrc - Системный, исполняет файл /usr/share/bash-completion/bash_completion. Зависит от флага компиляции -DSYS_BASHRC=«/etc/bash.bashrc».~/.bashrc - Пользовательский, исполняется после /etc/bash.bashrc.Интерактивные оболочки наследуют окружение от родительского процесса (которым может быть в том числе и оболочка входа).
Для создания переменной окружения необходимо экспортировать переменную оболочки:
VARIABLE=content export VARIABLE # или более кратко: export VARIABLE=content
Переменные окружения лучше1) перечислять в файлах ~/.profile или /etc/profile.
Так же для работы с переменными окружения в пакете coreutils есть программы printenv и env.
printenv - выводит все переменные окружения оболочки и их значения.
env может быть использована для запуска команд с переменной окружения при единичном вызове программы, не затрагивая переменные окружения командной оболочки:
env EDITOR=vim xterm