3

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

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

2 ответа2

6

~/.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 также влияет на выполнение файлов запуска.

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .