| PATH HOWTO | ||
|---|---|---|
| Пред. | След. | |
Часто пользовательские процессы - дочерние процессы оболочки записаны в /etc/passwd для этого пользователя. Файлы инициализации оболочек часто изменяют пути.
В login, названию оболочки предшествует '-', для bash например, написано '-bash'. Это сигнал системе, что оболочка запускается при входе в систему. В этом случае, оболочка выполняет инициализационные файлы при входе в оболочку. Иначе происходит более легкая инициализация. Дополнительно оболочка проверяет - являются ли команды исходящими из файла или набираемыми на терминале. Это модифицирует инициализацию оболочки так, что неинтерактивная оболочка инициализируется совсем слегка, bash, в этом случае, не выполняет никакой инициализации.
Как нормальная оболочка, bash просматривает общесистемный файл /etc/profile, где описано системное окружение и пути, которые могут быть установлены для пользователей bash. Однако, это не выполняется, когда система интерпретирует оболочку как не-интерактивную. Наиболее важный случай находится в rsh, когда удаленная команда выполняется на соседней машине. /etc/profile не запускается, и пути наследуются от rsh демона.
bash получает аргументы командной строки -login и -i, которые могут быть использованы, чтобы установить оболочку, как оболочку для входа или как интерактивную.
Пользователь может переписать значения, установленные в /etc/profile путем создания файлов ~/.bash_profile, ~/.bash_login или ~/.profile. Обратите внимание, что только самый первый из них выполняется - отличается от логики инициализации csh. ~/.bash_login не выполняется специально для оболочки входа в систему и если .bash_profile существует, он не выполняется вообще.
Если bash используется с именем sh вместо имени bash, он эмулирует инициализацию bash: ищет файлы /etc/profile и ~/.profile только для входных оболочек.
При входе оболочка tcsh исполняет следующие файлы в данной последовательности:
/etc/csh.cshrc
/etc/csh.login
˜/.tcshrc
˜/.cshrc (если .tcshrc не найден)
˜/.history
˜/.login
˜/.cshdirs
tcsh может быть скомпилирован так, чтобы выполнять login скрипт до cshrc скрипта. Остерегайтесь!
Не-интерактивные оболочки выполняют только *cshrc скрипты. *login скрипты могут использоваться, чтобы установить путь только однажды во входе в систему.
| Пред. | Начало | След. |
| Процесс Login | Изменение идентификатора пользователя |