Macos OSX-ZSH-PATH-/usr/bin重复

Macos OSX-ZSH-PATH-/usr/bin重复,macos,path,zsh,Macos,Path,Zsh,我需要一些帮助来理解为什么我的路径看起来像这样 在zsh中发出echo$PATH返回: /Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin/:/bin:/usr/sbin:/sbin: /usr/local/bin:/usr/X11/bin:/usr/local/go/bin:/usr/bin 现在,让我们仔细看看不同的部分: - /Library/Frameworks/Python.framework/Versions

我需要一些帮助来理解为什么我的路径看起来像这样

在zsh中发出echo$PATH返回:

/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin/:/bin:/usr/sbin:/sbin:
/usr/local/bin:/usr/X11/bin:/usr/local/go/bin:/usr/bin
现在,让我们仔细看看不同的部分:

- /Library/Frameworks/Python.framework/Versions/3.2/bin:
它来自my.zprofile(Python 3安装)

这些部分来自我的/etc/path文件夹

- /usr/X11/bin:
此部分来自我的etc/path.d文件夹

- /usr/local/go/bin:
此部件是在GO安装期间添加的

- /usr/bin

我已经查看了-/etc/path-.zshrc-.zprofile-.profile-/etc/profile-.zshenv。 它们都没有向路径中提供或添加第二个/user/bin

如果我不知道要编辑哪个文件,如何从路径中删除第二个/user/bin


谢谢。

虽然这没有解释第二个
/usr/bin
来自何处,但您可以将
typeset-u PATH
放在最后一个添加到$PATH的位置之后。这将删除重复项。

在ZSH中,通过
typeset-U PATH
删除PATH变量中的重复项,而不是
typeset-U PATH
(后者只会将内容转换为大写…)

您可以查看shell启动时的功能:
ZSH-x-i-c exit
。或者,如果您只是在寻找路径相关问题:
zsh-x-i-c exit 2>&1 | grep-c 2-i path
Hi Sebastian,感谢您抽出时间。我不熟悉zsh和shell脚本来理解您的两个命令。我测试了它们。
- /usr/bin