Таблица 11.2. Файлы запуска для сеансов командной оболочки входа
Файл | Содержит |
/etc/profile | Общесистемный конфигурационный сценарий, настройки из которого применяются для всех пользователей |
~/.bash_profile | Личный пользовательский файл запуска. Может использоваться для расширения и/или переопределения общесистемных настроек |
~/.bash_login | Если файл ~/.bash_profile присутствует в домашнем каталоге, bash пытается прочитать его |
~/.profile | Если в домашнем каталоге нет ни ~/.bash_profile, ни ~/.bash_login, bash пытается прочитать этот файл. Используется по умолчанию в дистрибутивах на основе Debian, таких как Ubuntu |
Таблица 11.3. Файлы запуска для обычных сеансов командной оболочки
Файл | Содержит |
/etc/bash.bashrc | Общесистемный конфигурационный сценарий, настройки из которого применяются для всех пользователей |
~/.bashrc | Личный пользовательский файл запуска. Может использоваться для расширения и/или переопределения общесистемных настроек |
Загляните в свою систему и посмотрите, какие файлы запуска у вас имеются. Помните: поскольку большинство имен файлов из перечисленных выше начинается с точки (такие файлы считаются скрытыми), при использовании команды ls ей необходимо передавать параметр -a.
С точки зрения обычного пользователя, файл ~/.bashrc является, пожалуй, самым важным файлом запуска, потому что его содержимое читается практически всегда. Обычные командные оболочки читают его по умолчанию, а большинство файлов запуска для командных оболочек входа написаны так, что оболочка также прочитает файл ~/.bashrc.
Что находится в файлах запуска?
Если заглянуть внутрь типичного файла .bash_profile (взятого из системы CentOS-4), можно увидеть следующее:
# .bash_profile
# Загрузить псевдонимы и функции
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# Определение пользовательского окружения и запуск программ
PATH=$PATH:$HOME/bin
export PATH
Строки, начинающиеся с #, — это комментарии, они не читаются командной оболочкой, а предназначены для человека. Первый интересный фрагмент начинается в четвертой строке:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Этот код называется составной условной командой, полное описание которой будет дано в части IV книги, где обсуждается программирование на языке командной оболочки, а пока приведем ее перевод на человеческий язык:
Если файл "~/.bashrc" существует, тогда
прочитать файл "~/.bashrc" file.
Как видите, этот фрагмент вынуждает командную оболочку входа прочитать содержимое файла .bashrc. Следующая операция, выполняемая в файле запуска, имеет отношение к переменной PATH.