В дополнение к shell-сценариям, которые создаете вы, существует множество сценариев, которые использует сам shell для своих целей. Наиболее важными среди них являются сценарии инициализации, которые автоматически выполняются shell при вашем входе в систему.
Сценарии инициализации сами
по себе - это обычные сценарии, как это описывалось выше. Но они очень полезны
при установке вышей среды путем автоматического выполнения набора команд при
вашем входе в систему. Например, если вы всегда используете команду mail
для проверки своей почты в момент входа в систему, вы можете поместить эту команду
в свой сценарий инициализации и она будет выполнена автоматически.
Как Bash, так и Tcsh делают
различие между начальным shell (вызываемым при входе в систему) и прочими вызовами
shell. Начальный shell вызывается в момент входа пользователя в систему; часто
это единственный экземпляр shell, который вы используете. Но если вы вызываете
shell из другой программы, такой какvi
, вы тем самым запускаете
новый (экземпляр) shell. Кроме того, когда вы запускаете на выполнение shell-сценарии,
вы автоматически инициируете новый экземпляр shell.
Файлы инициализации, используемые
в Bash: /etc/profile
(устанавливается системным администратором,
выполняется всеми экземплярами начальных пользовательских bash
,
вызванными при входе пользователей в систему), $HOME/.bash_profile
(выполняется при входе пользователя) и $HOME/.bashrc
(выполняемый
всеми прочими bash
). Если .bash_profile
отсутствует, вместо него используется .profile
.
Tcsh использует следующие
сценарии инициализации: /etc/csh.login
(выполняется всеми пользовательскими
tcsh
в момент входа в систему), $HOME/.tcshrc
(выполняется
во время входа в систему и всеми новыми экземплярами tcsh
) и $HOME/.login
(выполняется во время входа после .tcshrc
). Если .tcshrc
отсутствует, вместо него используется .cshrc
.
Для того, чтобы лучше понять
функции этих файлов, вам следует больше узнать о shell. Программирование на
shell сложный вопрос, далеко выходящий за рамки этой книги. Дополнительную информацию
можно получить из Руководства на bash
и tcsh
.