Когда вы входите в систему, оболочка считывает ваши файлы инициализации и на основе этой информации настраивает пользовательскую среду. Параметры среды определяются значениями, которые вы указали в переменных среды. Эти значения будут действительны до выхода из системы.
При входе в систему оболочка применяет файлы profile двух типов. Она выполняет предварительную обработку команд, указанных в файлах, и затем запускает команды для настройки среды. Функции этих файлов схожи, за исключением того, что файл /etc/profile управляет переменными профайла для всех пользователей системы, а файл .profile позволяет вам настроить свою собственную среду.
Оболочка сначала выполняет предварительную обработку команд, содержащихся в файле /etc/profile, а затем запускает эти команды для настройки среды в файле /etc/environment. После запуска файлов система проверяет, есть ли файл .profile в вашем домашнем каталоге. Если да, то система запускает этот файл. Кроме того, в файле .profile указано, существует ли файл среды. Если да (обычно он называется .env), то система запускает его и задает переменные среды.
Файлы /etc/profile, /etc/environment и .profile запускаются один раз во время входа в систему. Файл .env - каждый раз, когда вы открываете новую оболочку или окно.
В этом разделе описаны следующие файлы инициализации:
При входе в систему первым считывается файл /etc/profile. Он управляет следующими системными переменными по умолчанию:
Системный администратор настраивает файл profile для всех пользователей системы. Только он может изменять этот файл.
Ниже приведен пример типичного файла /etc/profile:
#Задать маску создания файла unmask 022 #Уведомление о почте MAIL=/usr/mail/$LOGNAME #Добавить каталог /bin в список каталогов для поиска PATH=/usr/bin:/usr/sbin:/etc:: #Задать тип терминала TERM=lft #Сделать глобальными некоторые переменные export MAIL PATH TERM
Дополнительная информация о файле /etc/profile приведена в разделе .profile File Format в книге AIX 5L Version 5.1 Files Reference.
Вторым при входе в систему обрабатывается файл /etc/environment. Он содержит переменные, задающие базовую среду для всех процессов. При запуске нового процесса процедура exec создает массив из строк вида Имя=Значение. Этот массив строк и называется средой. Каждое имя, заданное строкой, называется переменной среды, или переменной оболочки. Процедура exec позволяет сразу задать всю среду.
Когда вы входите в систему, перед считыванием профайла
.profile система задает переменные среды на основании файла
environment. Основную среду образуют следующие
переменные:
Дополнительная информация о файле /etc/environment приведена в разделе .environment File в книге AIX 5L Version 5.1 Files Reference.
Третий файл, который используется при входе в систему - это файл .profile. Он находится в домашнем каталоге ($HOME) и позволяет вам настраивать собственную среду. Поскольку файл .profile скрыт, для его просмотра воспользуйтесь командой ls -a.
После того как программа login добавит LOGNAME (начальное имя пользователя) и HOME (начальный каталог) в среду, будут выполнены команды в файле $HOME/.profile (если файл существует). Файл .profile содержит ваш профайл, переопределяющий переменные из файла /etc/profile. Файл .profile часто применяется для установки экспортированных переменных среды и режимов терминала. Вы можете настраивать среду по своему усмотрению, внося изменения в файл .profile. Например, с помощью файла .profile можно управлять следующими значениями по умолчанию:
Ниже приведен пример типичного файла .profile:
PATH=/usr/bin:/etc:/home/bin1:/usr/lpp/tps4.0/user:: epath=/home/gsc/e3: export PATH epath csh
В этом примере заданы операции определения двух переменных пути (PATH и epath), экспортирования этих переменных и открытия оболочки C (csh).
С помощью файла .profile (или, если он отсутствует, файла /etc/profile) вы можете определять переменные начальной оболочки. Вы можете также настраивать среды других оболочек. Например, с помощью файлов .cshrc и .kshrc можно настроить оболочки C и Korn, соответственно.
Наконец, четвертым при входе в систему обрабатывается файл .env, если в файле .profile есть следующая строка: export ENV=$HOME/.env
Файл .env позволяет настраивать отдельные переменные вашей среды. Поскольку файл .env скрыт, для его просмотра воспользуйтесь командой ls -a. Файл .env содержит некоторые пользовательские переменные среды, переопределяющие переменные, которые заданы в файле /etc/environment. Вы можете настраивать эти переменные по своему усмотрению, внося изменения в файл .env. Ниже приведен пример типичного файла .env:
export myid=`id | sed -n -e 's/).*$//' -e 's/^.*(//p'` \ bold=`tput smso` \ norm=`tput rmso` #задать приглашение: ИД пользователя и системы (инвертированные), затем текущий каталог if [ $myid = root ] then typeset -x PSCH='${bold}#:${norm}\${PWD}> ' PS1="${bold}#:${norm}\${PWD}> " else typeset -x PSCH='>' PS1="${bold}$LOGNAME@$UNAME:${norm}\${PWD}> " PS2=">" PS3="#?" fi export PS1 PS2 PS3 #задать псевдонимы команд alias ls="/bin/ls -CF" \ d="/bin/ls -Fal | pg" \ rm="/bin/rm -i" \ up="cd .."
Примечание: При изменении файла .env убедитесь, что только что созданные переменные среды не противоречат стандартным переменным, таким как MAIL, PS1, PS2 и IFS.