1

В сценарии оболочки я пытаюсь открыть новую оболочку tcsh и загрузить некоторый набор предопределенных псевдонимов и переменных env, которые я не хочу иметь в cshrc по умолчанию. Я не могу иметь его в своем домашнем каталоге, так как этот сценарий будет использоваться несколькими пользователями. По каким путям tcsh будет искать файл cshrc при создании нового xterm или оболочки? Это настраивается через некоторую переменную env?

1 ответ1

1

Из справочной страницы:

Оболочка входа в систему начинается с выполнения команд из системных файлов /etc/csh.cshrc и /etc/csh.login. Затем он выполняет команды из файлов в домашнем каталоге пользователя: сначала ~ /.tcshrc (+) или, если ~ /.tcshrc не найден, ~ /.cshrc, затем ~ /.history (или значение переменной оболочки histfile ), затем ~ /.login и, наконец, ~ /.cshdirs (или значение переменной оболочки dirsfile) (+). Оболочка может читать /etc/csh.login до, а не после /etc/csh.cshrc, и ~ /.login до, а не после ~ /.tcshrc или ~ /.cshrc и ~ /.history, если это скомпилировано; см. переменную оболочки версии. (+)

Нет аргумента переменной среды, чтобы изменить это, кроме -f чтобы предотвратить загрузку файла запуска.

Вы можете использовать source команду для загрузки файла из tcsh , хотя:

source /etc/my-special-settings.tcsh

Вы также можете сделать что-то подобное в вашем пользователе ~/.tcshrc:

if ( $?SPECIAL_SETTINGS ) then
    source /etc/my-special-settings.tcsh
else
    source ~/.tcsh/tcshrc
endif

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .