shell登录后,为什么$ PATH会被覆盖?

卡尔·坎贝尔

似乎这里有关于如何在Mac OS X / Linux环境中更改路径的一百个问题。。。我以为实际上知道如何更改PATH变量,但这似乎是导致它被覆盖的原因。我正在使用zsh并试图Brew Doctor避免警告我有关在user / local / bin之前使用usr / bin的信息。我的〜/ .zprofile:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
echo $PATH

登录后,我得到:

Last login: Fri Oct 17 15:10:30 on ttys000
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

但是在登录后运行$ PATH时,我得到:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

我直接登录到zsh,但以防万一我的.profile和.bash-profile都包含与.zprofile相同的代码,并且/etc/paths.d目录中没有任何内容。还有其他设置路径的地方吗?我在这里想念什么?

i40west

读取您的.zprofile之后,zsh将读取.zshrc和.zlogin(假设登录外壳程序)。您的PATH可能会被重置。

通常,最好在.zshenv中设置PATH(即使外壳不是登录外壳,也将读取该路径)。然后,不要在其他任何启动文件中进行设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章