echo $PATH
给了我
/Library/Frameworks/Python.framework/Versions/3.4/bin:/Applications/Sublime Text 2.app/Contents/SharedSupport/bin:/Users/pathreskoo/anaconda/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin
但是当我想将/usr/local/bin
的顺序更改为/Library/Frameworks/Python.framework/Versions/3.4/bin
的前面时,我输入
sudo emacs /etc/paths
我只得到
/usr/local/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
如何在/usr/local/bin
前面插入PATH
?
答案 0 :(得分:11)
您可以在主目录中的PATH
文件中设置.bash_profile
。
更具体地说,您只需将以下行添加到该文件的末尾
即可export PATH=/usr/local/bin:$PATH
这导致/usr/local/bin
被添加到现有PATH
之前。换句话说,文件夹/usr/local/bin
会插入PATH
前面,因此它具有最高优先级。您还可以通过
export PATH=$PATH:/usr/local/bin
通常,您可以按照与以下类似的方式设置导出的文件夹或文件的顺序:
export PATH=/usr/local/bin:/Applications/Sublime Text 2.app/Contents/SharedSupport/bin:/Users/pathreskoo/anaconda/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin
注意:这不是您可以设置PATH
的唯一地方,但这是一个常见的地方。
答案 1 :(得分:0)
您的$ PATH通常被shell的初始化部分覆盖。通常遵循系统范围的配置文件(/ etc / profile),然后是用户端配置文件(如果使用bash .profile,.bash_profile,.bashrc)和这些文件中的任何源命令。被覆盖的命令主要在.bashrc
中编辑.bashrc文件并找到$ PATH,您可以找到导出命令并删除您不想要的路径。 export $ PATH = / usr / local / bin:$ PATH覆盖用户范围的命令。