设置变量时括起括号

时间:2013-10-30 11:18:44

标签: linux unix

为什么这个命令会破坏搜索路径?

PATH=($PATH:$HOME/bin)

PATH看起来没有变化,但shell无法找到命令。

错误输入
PATH=$PATH:$HOME/bin

可能与

混淆
PATH=$(echo $PATH:$HOME/bin)

2 个答案:

答案 0 :(得分:2)

使用括号创建一个数组:

$ a=(x:y:z v:w:x)
$ echo ${a[0]}
x:y:z
$ echo ${a[1]}
v:w:x

在您的情况下,您创建了一个包含一个元素的数组(整个路径)。然后,这不再被解释为搜索可执行文件的路径。这个PATH必须是由冒号分隔的一串目录,而不是数组。

答案 1 :(得分:0)

如果你想实现PATH = $ PATH:$ HOME / bin 试试PATH=(\$PATH:\$HOME/bin)