Программа-оболочка /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”). Также может быть необходимо указание (и это актуальная и предпочтительная форма) кодировки символов (т.е. “koi8-r”) после точки (так, что в результате будет “ru_RU.koi8-r”). Используйте следующую команду для большей информации:
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
Локали “C” (по умолчанию) и “en_US” (рекомендуется для английских пользователей США) различаются.
Установка раскладки клавиатуры, эранного шрифта и локале-связанных переменных окружения является только шагом интернационализации, нужным для поддержки локалей, использующих обычные однобайтовые кодировки и направление письма слева-направо. Более комплексные вещи (включая UTF-8 основанные локали) требуют дополнительных шагов и дополнительных патчей, так как много приложений имеют склонность работать неправильно в таких условиях. Эти шаги и патчи не включены в книгу LFS и такие локали не поддерживаются LFS.