如何更改$ PATH的顺序?

pil*_*l45 7 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
Run Code Online (Sandbox Code Playgroud)

但是当我想改变/usr/local/bin前面的顺序时/Library/Frameworks/Python.framework/Versions/3.4/bin,我输入

sudo emacs /etc/paths
Run Code Online (Sandbox Code Playgroud)

我只能得到

/usr/local/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
Run Code Online (Sandbox Code Playgroud)

我怎么能插/usr/local/bin在我面前PATH

Bra*_*ody 13

您可以PATH在文件中设置您的文件.bash_profile,该文件位于您的主目录中.

更具体地说,您只需将以下行添加到该文件的末尾即可

export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

这导致/usr/local/bin了现有的前奏PATH.换句话说,文件夹/usr/local/bin插入到您的前面PATH,因此它具有最高优先级.您还可以通过执行操作将文件夹附加到路径中

export PATH=$PATH:/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

通常,您可以按照与以下类似的方式设置导出的文件夹或文件的顺序:

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
Run Code Online (Sandbox Code Playgroud)

注意:这不是您可以设置的唯一地方PATH,但它是一个常见的地方.

  • 将 `/usr/local/bin` 添加到路径前面更安全,而不是完全覆盖继承的值 (`PATH=/usr/local/bin:$PATH`)。重复不会造成任何伤害,并且您的路径不太可能变得太大而导致性能问题。 (2认同)