如何更改$ PATH的顺序?

时间:2015-08-23 19:46:28

标签: bash path

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

2 个答案:

答案 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覆盖用户范围的命令。