每次登录 zsh 时仅导出一次 PATH

rom*_*ovs 3 zsh environment-variables profile session

我需要更改我的PATH变量,因此我输入export PATH=$PATH:somedir了我的变量$HOME/.profile,该变量是由我的$HOME/.zshrc.

这是可行的,但每当我打开一个新终端(urxvtin X11)时,.zshrc就会.profile被读取,并将 再次添加:somedirPATH

在我日常使用计算机的过程中,终端窗口经常出现和消失,因此在使用三个小时后,该PATH变量包含数百个:somedir附录的克隆。

我该如何解决?是否有一个仅在登录时读取的配置文件zsh

Mat*_*Mat 5

zsh 手册页

[...] 然后从 读取命令$ZDOTDIR/.zshenv。如果 shell 是登录 shell,则从 读取命令/etc/zprofile ,然后 读取命令$ZDOTDIR/.zprofile。然后,如果 shell 是交互式的,则从/etc/zshrc和 then读取命令$ZDOTDIR/.zshrc。最后,如果shell是登录shell,/etc/zlogin$ZDOTDIR/.zlogin读取。

您应该在(如果您愿意的话可以来源)中进行PATH更改,而不是在..zprofile.profile.zshrc