Я хочу запустить скрипт оболочки (определить некоторые переменные окружения) в начале каждой новой оболочки (глобально, а не для нескольких пользователей).
Итак, я поместил свой скрипт в каталог /etc/profile.d/
, но он работает только для оболочек входа в систему. Есть ли лучшее место для моего сценария?
Для интерактивных оболочек входа в систему, как вы обнаружили, вы можете поместить команды в сценарии, расположенные внутри:
/etc/profile.d/
Вы также можете сделать это, несколько менее желательным способом, отредактировав глобальную конфигурацию. file:
/etc/profile
Для bash
(который является интерактивной оболочкой по умолчанию) существует соответствующий файл, в который вы можете поместить команды для запуска всеми интерактивными не входящими в систему оболочками :
/etc/bash.bashrc
Так же, как /etc/profile.d
и /etc/profile
соответствуют ~/.profile
, /etc/bash.bashrc
соответствует ~/.bashrc
.
Это не применяется к неинтерактивным оболочкам. Но вряд ли у вас есть команды, которые вы хотите запускать неинтерактивными оболочками. (Тогда они будут запускаться каждый раз, когда запускается любой скрипт.)