Bash - $ PATH和$ {PATH}

时间:2009-09-12 20:15:17

标签: bash shell terminal environment-variables

使用环境变量(如PATH)作为$ PATH或$ {PATH}之间有什么区别?

3 个答案:

答案 0 :(得分:13)

大多数情况没有区别。唯一重要的是,如果要在扩展后包含尾随文本。例如,假设您的PATH包含字符串FOO(实际上不是有效路径,但这只是一个示例),并且您希望形成字符串FOOBAR。如果你做了

$PATHBAR

你会得到名为PATHBAR的变量的扩展,这可能不是你想要的。如果你做了

$PATH BAR

你会在FOOBAR之间得到一个空格,也不是你想要的空格。解决方案是使用大括号:

${PATH}BAR

这会为您提供FOOBAR

答案 1 :(得分:4)

PATH是环境变量的名称,$PATH${PATH}是访问它们的方法。表单${PATH}用于允许echo ${PATH}b等使用$PATHb失败的结构。此外,bash允许大量参数替换,man page会很乐意告诉您更多信息。

答案 2 :(得分:0)

在你的情况下没有区别,但是 - 采取这种情况:你有两个变量:

$FOO = "YA"
$YADA = "bar"

然后${$FOODA}会给你什么,而${${FOO}DA}会给你“bar”