Программа-оболочка /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.