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

有帮助吗?

解决方案

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

$PATHBAR

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

$PATH BAR

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

${PATH}BAR

这为您提供 FOOBAR

其他提示

PATH 是环境变量的名称, $ PATH $ {PATH} 是访问它们的方法。表单 $ {PATH} 用于允许 echo $ {PATH} b 等构造使用 $ PATHb 失败。此外, bash 允许使用手册页的大量参数替换内容。 a>很乐意告诉你更多关于。

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

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

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

scroll top