Наиболее важные настройки можно установить в глобальных файлах инициализации интерпретатора. Для 'login' интерпретаторов: /etc/csh.login для tcsh и /etc/profile для bash.
Исключения, которые не получат правильный путь, указанный в этих файлах: команды rsh, ssh, пункты меню в оконных менеджерах для X которые не запускают явно 'login' интерпретатор, команды вызванные из inittab, работы cron, процессы запущенные демонами, например magic filters запускаемые lprd, WWW CGI скрипты и так далее.
Если путь установлен в /etc/csh.cshrc, путь будет корректным даже если программа исполняется на другой машине с аккаунтом, использующим tcsh/csh. В тоже время невозможно установить путь, если аккаунт использует bash/sh.
Возможно скомбинировать установки пути в 1 файле, например в файле /etc/enviroment-common:
${EXPORT}PATH${EQ}/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/games:. |
Это можно вызвать из /etc/csh.login (для tcsh и csh)
set EQ=" " set EXPORT="setenv " source /etc/environment-common |
И из /etc/profile (для bash, не работает для обычного sh)
EQ='=' EXPORT="export " . /etc/environment-common |
И из /etc/enviroment (для XDM)
EQ="=" EXPORT="export " . /etc/environment-common |
Данная стратегия работает в большинстве случаев, но ssh будет жаловаться на строки в /etc/enviroment (и определенные переменные окружения EQ и EXPORT). rsh команды исполненные при помощи bash также не получат этого пути.