2013-10-07 76 views
6

为什么设置PATH最后需要:${PATH}bash_profile中的设置路径

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

当我追加到这个路径,我会做

PATH=$PATH:... 

如何追加PATH没有去到一个新行。也就是说,我将如何将PATH附加到原始PATH声明中。

例如,如果我想将以下全部放在第一行。这与:${PATH}部分有什么相互作用?

PATH=$PATH:/usr/local/mysql/bin 

回答

16

有追加现有路径到前或$PATH环境变量的末尾之间的差。 bash解析执行路径的方式是从列表的前面开始。这意味着,如果你在你的路径这两个目录:

PATH="/dir1/bin:/dir2/bin" 

而且他们都具有可执行test.sh它,那么当你运行test.sh,它会因为该目录首次出现在执行中/dir1/bin/test.sh的一个路径。

此外,${PATH}$PATH相同。

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

被简单地添加/Library/Frameworks/Python.framework/Versions/2.7/bin到路径的前部和

PATH=$PATH:/usr/local/mysql/bin 

被简单地添加/usr/local/mysql/bin到路径的末尾。

那么你如何在一条线上做到这一点?类似这样的:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/usr/local/mysql/bin"