使用环境变量(如PATH)作为$ PATH或$ {PATH}之间有什么区别?
答案 0 :(得分:13)
大多数情况没有区别。唯一重要的是,如果要在扩展后包含尾随文本。例如,假设您的PATH
包含字符串FOO
(实际上不是有效路径,但这只是一个示例),并且您希望形成字符串FOOBAR
。如果你做了
$PATHBAR
你会得到名为PATHBAR
的变量的扩展,这可能不是你想要的。如果你做了
$PATH BAR
你会在FOO
和BAR
之间得到一个空格,也不是你想要的空格。解决方案是使用大括号:
${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”