мета-данные страницы
bash
Bash (Bourne-again Shell) - POSIX-совместимая командная оболочка. Bash работает в одном из двух режимов:
- login shell (оболочка входа) - если bash был вызван в TTY при помощи login, ssh и тп.
- interactive shell (интерактивная оболочка) - если был вызван терминалом или запущен непосредственно 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
Встроенный команды