Каждый процесс, работающий под ядром Linux, получает собственную уникальную среду, которую он наследует от своего родителя. В этом случае родитель будет либо самой оболочкой (порождающей вложенную оболочку), либо программой 'login' (в типичной системе).
Поскольку среда каждого процесса защищена, нет способа «внедрить» переменную среды в каждый запущенный процесс, поэтому даже если вы измените оболочку по умолчанию .rc / profile, она не вступит в силу до тех пор, пока каждый процесс выходит и перезагружает настройки запуска.
Загляните в / etc /, чтобы изменить переменные запуска по умолчанию для любой конкретной оболочки. Просто осознайте, что пользователи могут (и часто делают) изменять их в своих индивидуальных настройках.
Unix предназначен для подчинения пользователю в определенных пределах.
NB : Bash - это не оболочка only в вашей системе. Обратите особое внимание на то, на что в действительности указывает символическая ссылка / bin / sh. Во многих системах это может быть dash , что (по умолчанию, без специального вызова) ПОЗВОЛЬНО правильно. Поэтому вам следует позаботиться об изменении обоих значений по умолчанию, иначе сценарии, начинающиеся с / bin / sh, не наследуют ваши глобальные значения по умолчанию. Точно так же старайтесь избегать синтаксиса, который понимает только bash при редактировании обоих, иначе avoiding bashisms
.