我正在寻找关于应该和不应该包含在zsh
.
我了解这些文件的来源顺序,以及它们的来源条件,但我仍然不清楚每个文件应该包含什么。
小智 308
以下是每个文件往往包含的内容的非排他性列表:
.zshenv
始终是源代码,因此它通常包含应该可供其他程序使用的导出变量。例如,$PATH
、$EDITOR
、 和$PAGER
通常设置在 中.zshenv
。此外,您还可以设置$ZDOTDIR
在.zshenv
指定的zsh的其余配置中的其他位置。.zprofile
基本上是一样的.zlogin
,除了在此之前,它的来源.zshrc
,而.zlogin
之后其来源.zshrc
。根据 zsh 文档,“.zprofile
是作为.zlogin
ksh 粉丝的替代品;两者不打算一起使用,尽管如果需要,当然可以这样做。”.zshrc
用于交互式外壳配置。您可以使用setopt
和unsetopt
命令为交互式 shell 设置选项。您还可以加载 shell 模块、设置历史选项、更改提示、设置 zle 和完成等。您还可以设置仅在交互式 shell 中使用的任何变量(例如$LS_COLORS
)。.zlogin
源自登录外壳程序的开始,但.zshrc
如果外壳程序也是交互式的。该文件通常用于使用startx
. 一些系统在启动时启动 X,所以这个文件并不总是很有用。.zlogout
有时用于清除和重置终端。它在退出时调用,而不是在打开时调用。
您应该查看随机 Github 用户的配置文件,以更好地了解每个文件应包含的内容。
小智 91
在我看来,这里列出了每个文件应该/不应该包含的内容:
[每次阅读]
这个文件总是有源的,所以它应该设置需要经常更新的环境变量。PATH(或其关联的对应路径)是一个很好的例子,因为您可能不想重新启动整个会话以使其更新。通过在该文件中设置它,重新打开终端模拟器将启动一个新的 Zsh 实例,其中PATH值已更新。
但请注意,即使启动 Zsh 以运行单个命令(使用-c选项),即使是其他工具(如make
. 您应该非常小心,不要修改标准命令的默认行为,因为它可能会破坏某些工具(例如通过设置别名)。
[登录时阅读]
我个人将该文件视为.zshenv
应该设置一次或不需要经常更新的命令和变量:
SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"
)的配置,因为它可能需要一些时间来执行。如果修改此文件,则可以通过运行登录 shell 来应用配置更新:
exec zsh --login
Run Code Online (Sandbox Code Playgroud)
[互动时阅读]
我把所有只需要交互使用的东西放在这里:
[登录时阅读]
这个文件很像.zprofile
,但在.zshrc
. 您可以考虑在 .zlogin 执行时完全设置 shell
因此,我使用它来启动不修改外壳行为的外部命令(例如登录管理器)。
[注销时阅读][在登录外壳内]
在这里,您可以清除终端或登录时设置的任何其他资源。
.zshenv
.zshenv
.zprofile
.zshrc
.zlogin
.zlogout
归档时间: |
|
查看次数: |
153221 次 |
最近记录: |