在bash_profile中设置路径

Mar*_*ars 8 unix bash terminal .bash-profile

为什么设置a PATH要求:${PATH}最后?

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
Run Code Online (Sandbox Code Playgroud)

当我为此添加一条路径时,我会这样做

PATH=$PATH:...
Run Code Online (Sandbox Code Playgroud)

如何在PATH不进入新行的情况下附加a .也就是说,我如何将a附加PATH到原始PATH语句中.

例如,如果我想将所有内容放在第一行.这如何与:${PATH}零件相互作用?

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

Jon*_*Lin 20

将现有路径附加到$PATH环境变量的前端或末尾之间存在差异.bash解析执行路径的方式是从列表的前面开始.这意味着如果您的路径中有这两个目录:

PATH="/dir1/bin:/dir2/bin"
Run Code Online (Sandbox Code Playgroud)

并且它们都有可执行文件test.sh,然后当你运行时test.sh,它将执行一个,/dir1/bin/test.sh因为该目录首先出现在路径中.

另外,${PATH}是一样的$PATH.

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
Run Code Online (Sandbox Code Playgroud)

只是添加/Library/Frameworks/Python.framework/Versions/2.7/bin 到路径的前面

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

只是添加/usr/local/mysql/bin 到路径的末尾.

那么你如何在一条线上做到这两件事呢?像这样的东西:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/usr/local/mysql/bin"
Run Code Online (Sandbox Code Playgroud)