|
| ||||||||||||
| ||||||||||||
ОболочкиЧасто пользовательские процессы - дочерние процессы оболочки записаны в /etc/passwd для этого пользователя. Файлы инициализации оболочек часто изменяют пути. В login, названию оболочки предшествует '-', для bash например, написано '-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При входе оболочка tcsh исполняет следующие файлы в данной последовательности:
tcsh может быть скомпилирован так, чтобы выполнять login скрипт до cshrc скрипта. Остерегайтесь! Не-интерактивные оболочки выполняют только *cshrc скрипты. *login скрипты могут использоваться, чтобы установить путь только однажды во входе в систему.
| ||||||||||||
|
CITForum © 1997–2025