8

为什么在最后设置一个PATH要求:${PATH}

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

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

PATH=$PATH:...

如何在PATH不换行的情况下追加 a 。也就是说,我将如何将 a 添加PATH到原始PATH语句中。

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

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

1 回答 1

21

$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"
于 2013-10-07T18:00:27.393 回答