Несколько вопросов:
- Какова отдельная цель
.profile
и.zshrc
? - Что называется первым, когда оболочка оживает?
~/.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, включая порядок выполнения и некоторые рекомендации о том, как их структурировать. Стоит прочитать ИМО.