Порядок исполнения и назначение.profile vs .zshrc

Несколько вопросов:

  • Какова особая цель .profile а также .zshrc?
  • Что называется первым, когда оболочка оживает?

2 ответа

Решение

~/.profile загружается только при запуске zsh в sh режим совместимости, в противном случае он читает .zprofile, так же как .zshrc для интерактивного и .zlogin для логинов.

Их цель развивается с момента их загрузки. Как .zshrc загружается для интерактивных оболочек, устанавливает псевдонимы и т. д., которые вы ожидаете в таких случаях.

.profile имеет дополнительное свойство, которое загружается несколькими другими оболочками (например, bashесли только он не находит что-то более конкретное; или же ksh) так или иначе, так что вы можете сохранить конфигурацию для нескольких оболочек в этом файле.

Соответствующие выдержки из man zshallАкцент мой:

ЗАПУСК / ОТКЛЮЧЕНИЕ ФАЙЛОВ
Команды сначала читаются из /etc/zshenv; [...]

Команды затем читаются из $ZDOTDIR/.zshenv, Если оболочка является оболочкой входа в систему, команды читаются из /etc/zprofile а потом $ZDOTDIR/.zprofile, Затем, если оболочка является интерактивной, команды читаются из /etc/zshrc а потом $ZDOTDIR/.zshrc, Наконец, если оболочка является оболочкой входа в систему, /etc/zlogin а также $ZDOTDIR/.zlogin читаются

СОВМЕСТИМОСТЬ
Zsh пытается эмулировать sh или ksh, когда он вызывается как sh или ksh соответственно; [...]

Обычные сценарии запуска / выключения zsh не выполняются. Логин оболочек источник /etc/profile с последующим $HOME/.profile, Если переменная среды ENV установлена ​​при вызове, $ENV исходный код после скриптов профиля. Значение ENV подвергается расширению параметров, подстановке команд и арифметическому расширению перед тем, как интерпретироваться как имя пути. Обратите внимание, что опция PRIVILEGED также влияет на выполнение файлов запуска.

zsh wiki имеет хороший обзор файлов конфигурации zsh, включая порядок выполнения и некоторые рекомендации о том, как их структурировать. Стоит прочитать ИМО.

Другие вопросы по тегам