Я понимаю, что когда пользователь входит в unix удаленно, сначала запускается процесс getty. Если аутентификация прошла успешно, то вызывается etc/environment. Однако я не понимаю, когда в этом процессе вызываются csh.cshrc и csh.login?
решение1
csh.cshrc
и csh.login
являются глобальными версиями ~/.cshrc
и ~/.login
(или ~/.csh_login
), например, файлов конфигурации csh. Когда csh выполняется, он считывает и /etc/csh.cshrc
и ~/.cshrc
(он также считывает оба файла cshlogin). Если в его/ее домашнем каталоге нет ~/.cshrc
, csh может читать только /etc/csh.cshrc
. Это так, потому что тогда root (или кто-то с, например, правильными правами sudo) может установить, /etc/csh.cshrc
чтобы содержать основные настройки, и каждый пользователь может настраивать свои собственные настройки в ~/.cshrc
.
решение2
От man csh
:
An instance of csh begins by executing commands from the file
/etc/csh.cshrc and, if this is a login shell, /etc/csh.login. It then
executes commands from .cshrc in the home directory of the invoker, and,
if this is a login shell, the file .login in the same location. It is
typical for users on CRTs to put the command stty crt in their .login
file, and to also invoke tset(1) there.