7.8. Файлы загрузки оболочки Bash

7.8. Файлы загрузки оболочки Bash

Программа-оболочка /bin/bash (далее называемая “оболочкой”) при запуске использует набор стартовых файлов для создания окружения. Файлы в директории /etc предоставляют глобальные установки. Если эквивалентные файлы присутствуют в домашней диретории, то они могут заменить глобальные установки.

Интерактивнвя регистрация оболочки запускается после успешного входа, используя /bin/login, который читает файл /etc/passwd.

Интерактивнвя нерегистрированная оболочка запускается из командной строки (т.е. [prompt]$/bin/bash).

Неинтерактивная оболочка обычно присутствует при загрузке стартовых скриптов. Она неинтерактивная потому, что она выполняет скрипт и не ожидает ввода от пользователя между выполнением команд.

Для большей информации смотрите info bash

Файлы /etc/profile и ~/.bash_profile читаются, когда оболочка работает в режиме интерактивной регистрации.

Основной файл /etc/profile ниже устанавливает некоторые переменные окружения, необходимые для поддержки различных языков. Правильная их установка даст следующий результат:

  • Вывод программ транслируется на нужном языке

  • Правильная классификация символов в буквы, цифры и другие классы. Это необходимо Bash для правильного применения не-ASCII символов в командной строке при не-английской локали

  • Правилиный алфавитный порядок сортировки

  • Предпочтительный размер страницы по умолчанию

  • Правильное форматирование денежной величины, времени и даты

Этот скрипт также устанавливает переменную окружения INPUTRC, которая заставляет Bash и Readline использовать ранее созданный файл /etc/inputrc.

Замените [ll] ниже на двух-буквенный код для требуемого языка (т.е., “ru”) и [CC] на на двух-буквенный код страны (т.е., “RU”). Также может быть необходимо указание (и это актуальная и предпочтительная форма) кодировки символов (т.е. “UTF-8”) после точки (так, что в результате будет “ru_RU.UTF-8”). Используйте следующую команду для большей информации:

man 3 setlocale

Список всех локалей, поддерживаемых Glibc, может быть получен запуском следующей команды:

locale -a

Как только подходящие параметры локали будут определены, создайте файл /etc/profile:

cat > /etc/profile << "EOF"
# Begin /etc/profile

export LC_ALL=[ll]_[CC]
export LANG=[ll]_[CC]
export INPUTRC=/etc/inputrc

# End /etc/profile
EOF
[Note]

Замечание

Локали “C” (по умолчанию) и “en_US” (рекомендуется для английских пользователей США) различаются.

Установка раскладки клавиатуры, эранного шрифта и локале-связанных переменных окружения является только шагом интернационализации, нужным для поддержки локалей, использующих обычные однобайтовые кодировки и направление письма слева-направо. Более комплексные вещи (включая UTF-8 основанные локали) требуют дополнительных шагов и дополнительных патчей, так как много приложений имеют склонность работать неправильно в таких условиях. Эти шаги и патчи не включены в книгу LFS и такие локали не поддерживаются LFS.