LINUX.ORG.RU

Где определять такие переменные, как EDITOR, VISUAL

 , ,


1

3

Здравствуйте. Я использую zsh вместо bash. Подскажите, пожалуйста, в каком файле мне для пользователя правильно определить такие переменные, как EDITOR и VISUAL. Заранее спасибо.

★★

~/.zprofile и сделать симлинк этого файла на ~/.bash_profile и ~/.profile, т. к. стартовые скрипты графических окружений тоже часто считывают этот файл по одному из двух последних имён.

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Спасибо! А при каких условиях будет вызвано содержимое этих файлов? Если я правильно помню, то, например, bashrc и zshrc читаются при каждом запуске оболочки, а в моём случае это излишне.

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Есть такое понятие, как login shell. Это такой экземпляр оболочки, который запускается непосредственно из /bin/login (с ключом -l).

Вот .zprofile (как и .bash_profile в bash) по определению читается только login shell'ом. При этом все популярные DE из соображений юзабилити в своих стартовых скриптах также считывают содержимое .bash_profile или .profile, но они этого делать не обязаны (т. е. никто не гарантирует, что внутри своего DE ты получишь установленные тобой значения EDITOR, VISUAL и так далее). Последнее — просто на заметку.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от intelfx

Например, внутри Wayland-сессии GNOME эти файлы не считываются, т. к. там просто нечему их считывать (DE сразу запускает бинарь gnome-session, минуя какую-либо скриптовую обвязку). В таких случаях используют pam_env.so и ~/.pam_environment.

intelfx ★★★★★
()
Ответ на: комментарий от kazufukurou

Иногда бывает нужно запустить экземпляр оболочки с изменённым окружением, а если оно будет безусловно переопределяться самой оболочкой — тогда так сделать не получится.

intelfx ★★★★★
()

у меня два шела - zsh и csh, использую .profile и все ОК

mystery ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.