Вот неисключительный список того, что каждый файл имеет тенденцию содержать:
Поскольку .zshenvон всегда получен, он часто содержит экспортированные переменные, которые должны быть доступны другим программам. Так , например, $PATH, $EDITORи $PAGERчасто устанавливаются в .zshenv. Кроме того , вы можете установить $ZDOTDIRв .zshenvуказать альтернативное место для остальной части вашей конфигурации ЗШ.
.zshrcдля конфигурации интерактивной оболочки. Вы можете установить параметры для интерактивной оболочки там с setoptи unsetoptкомандами. Вы также можете загрузить модули оболочки, установить параметры истории, изменить приглашение, настроить zle и завершение и так далее. Вы также устанавливаете любые переменные, которые используются только в интерактивной оболочке (например $LS_COLORS).
.zloginисходный код запускается при входе в систему. Этот файл часто используется для запуска X с помощью startx. Некоторые системы запускают X при загрузке, поэтому этот файл не всегда очень полезен.
.zprofileв основном то же самое, .zloginза исключением того, что он получен непосредственно до того, .zshrcкак получен, а не непосредственно после него. Согласно документации zsh, « .zprofileподразумевается как альтернатива« .zlogin »для фанатов ksh; оба не предназначены для совместного использования, хотя это, безусловно, можно сделать при желании».
.zlogout иногда используется для очистки и сброса терминала.
Для ясности, .zlogin поставляется после .zshrc (см. man zshallПодробности).
Аарон
8
Имейте в виду, что при установке $PATHв .zshenv, все другие другие файлы поставляются после этого файла, который переопределит это значение. См. Zsh.org/mla/users/2003/msg00600.html .
Бо Баркер
Куда $LANGи $LC_ALLкуда идти?
Ленар Хойт
24
Только для моих собственных заметок / подтверждения и для того, чтобы помочь кому-либо еще, конечный заказ: .zshenv→ [ .zprofileпри входе в систему] → [ .zshrcпри взаимодействии] → [ .zloginпри входе в систему] → [ .zlogoutиногда].
Габриэль Л.
24
Вот список того, что каждый файл должен / не должен содержать, по моему мнению:
.zshenv
[Читать каждый раз]
Этот файл всегда получен, поэтому он должен устанавливать переменные среды, которые необходимо часто обновлять . PATH (или связанный путь к нему ) является хорошим примером, потому что вы, вероятно, не хотите перезапускать весь сеанс, чтобы обновить его. Установив его в этом файле, повторное открытие эмулятора терминала запустит новый экземпляр Zsh с обновленным значением PATH .
Но имейте в виду, что этот файл читается даже при запуске Zsh для запуска одной команды (с параметром -c ), даже с помощью другого инструмента, подобного make. Вы должны быть очень осторожны, чтобы не изменять поведение стандартных команд по умолчанию, потому что это может сломать некоторые инструменты (например, путем установки псевдонимов).
.zprofile
[Читать при входе в систему]
Лично я отношусь к этому файлу как .zshenvк командам и переменным, которые должны быть установлены один раз или которые не требуют частого обновления :
переменные среды для настройки инструментов (флаги для компиляции, расположение папки данных и т. д.)
Конфигурация, которая выполняет команды (например SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"), так как это может занять некоторое время.
Если вы измените этот файл, вы можете применить обновления конфигурации, запустив оболочку входа в систему:
exec zsh --login
.zshrc
[Читать в интерактивном режиме]
Я положил сюда все необходимое только для интерактивного использования :
незамедлительный,
завершение команды,
командная коррекция,
командное предложение,
выделение команд,
окраска выхода,
псевдонимы,
привязки клавиш,
управление историей команд,
другие разные интерактивные инструменты (auto_cd, manydots-magic) ...
.zlogin
[Читать при входе в систему]
Этот файл похож .zprofile, но читается после .zshrc. Вы можете считать, что оболочка полностью настроена во время выполнения .zlogin
Поэтому я использую его для запуска внешних команд, которые не изменяют поведение оболочки (например, менеджер входа в систему).
.zlogout
[Читать при выходе из системы] [В оболочке входа]
Здесь вы можете очистить свой терминал или любой другой ресурс, который был настроен при входе в систему.
Как выбрать место для установки
если это необходимо команде, запущенной неинтерактивно :.zshenv
если это должно быть обновлено на каждой новой оболочке :.zshenv
если он запускает команду, выполнение которой может занять некоторое время :.zprofile
если это связано с интерактивным использованием :.zshrc
если это команда, запускаемая при полной настройке оболочки :.zlogin
если он освобождает ресурс, полученный при входе в систему:.zlogout
Не ssh-agentзвоните .zshenv. Это заставило мою lessкоманду больше не отображать текстовые файлы, вероятно, потому что ее параметры были настроены Prezto ( export LESS='-F -g -i -M -R -S -w -X -z-4'in .zprofile).
Ответы:
Вот неисключительный список того, что каждый файл имеет тенденцию содержать:
.zshenv
он всегда получен, он часто содержит экспортированные переменные, которые должны быть доступны другим программам. Так , например,$PATH
,$EDITOR
и$PAGER
часто устанавливаются в.zshenv
. Кроме того , вы можете установить$ZDOTDIR
в.zshenv
указать альтернативное место для остальной части вашей конфигурации ЗШ..zshrc
для конфигурации интерактивной оболочки. Вы можете установить параметры для интерактивной оболочки там сsetopt
иunsetopt
командами. Вы также можете загрузить модули оболочки, установить параметры истории, изменить приглашение, настроить zle и завершение и так далее. Вы также устанавливаете любые переменные, которые используются только в интерактивной оболочке (например$LS_COLORS
)..zlogin
исходный код запускается при входе в систему. Этот файл часто используется для запуска X с помощьюstartx
. Некоторые системы запускают X при загрузке, поэтому этот файл не всегда очень полезен..zprofile
в основном то же самое,.zlogin
за исключением того, что он получен непосредственно до того,.zshrc
как получен, а не непосредственно после него. Согласно документации zsh, «.zprofile
подразумевается как альтернатива« .zlogin »для фанатов ksh; оба не предназначены для совместного использования, хотя это, безусловно, можно сделать при желании»..zlogout
иногда используется для очистки и сброса терминала.Вы должны просмотреть файлы конфигурации случайных пользователей Github, чтобы лучше понять, что должен содержать каждый файл.
источник
man zshall
Подробности).$PATH
в.zshenv
, все другие другие файлы поставляются после этого файла, который переопределит это значение. См. Zsh.org/mla/users/2003/msg00600.html .$LANG
и$LC_ALL
куда идти?.zshenv
→ [.zprofile
при входе в систему] → [.zshrc
при взаимодействии] → [.zlogin
при входе в систему] → [.zlogout
иногда].Вот список того, что каждый файл должен / не должен содержать, по моему мнению:
.zshenv
[Читать каждый раз]
Этот файл всегда получен, поэтому он должен устанавливать переменные среды, которые необходимо часто обновлять . PATH (или связанный путь к нему ) является хорошим примером, потому что вы, вероятно, не хотите перезапускать весь сеанс, чтобы обновить его. Установив его в этом файле, повторное открытие эмулятора терминала запустит новый экземпляр Zsh с обновленным значением PATH .
Но имейте в виду, что этот файл читается даже при запуске Zsh для запуска одной команды (с параметром -c ), даже с помощью другого инструмента, подобного
make
. Вы должны быть очень осторожны, чтобы не изменять поведение стандартных команд по умолчанию, потому что это может сломать некоторые инструменты (например, путем установки псевдонимов)..zprofile
[Читать при входе в систему]
Лично я отношусь к этому файлу как
.zshenv
к командам и переменным, которые должны быть установлены один раз или которые не требуют частого обновления :SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"
), так как это может занять некоторое время.Если вы измените этот файл, вы можете применить обновления конфигурации, запустив оболочку входа в систему:
.zshrc
[Читать в интерактивном режиме]
Я положил сюда все необходимое только для интерактивного использования :
.zlogin
[Читать при входе в систему]
Этот файл похож
.zprofile
, но читается после.zshrc
. Вы можете считать, что оболочка полностью настроена во время выполнения .zloginПоэтому я использую его для запуска внешних команд, которые не изменяют поведение оболочки (например, менеджер входа в систему).
.zlogout
[Читать при выходе из системы] [В оболочке входа]
Здесь вы можете очистить свой терминал или любой другой ресурс, который был настроен при входе в систему.
Как выбрать место для установки
.zshenv
.zshenv
.zprofile
.zshrc
.zlogin
.zlogout
источник
Не
ssh-agent
звоните.zshenv
. Это заставило моюless
команду больше не отображать текстовые файлы, вероятно, потому что ее параметры были настроены Prezto (export LESS='-F -g -i -M -R -S -w -X -z-4'
in.zprofile
).источник