使用像PATH这样的环境变量作为$PATH或${PATH}有什么区别?
发布于 2009-09-12 20:22:39
这在大多数情况下是没有区别的。只有当你想在扩展后包含尾随文本时,它才是最重要的。例如,假设您的PATH包含字符串FOO (实际上不是有效路径,但这只是一个示例),并且您希望形成字符串FOOBAR。如果你这样做了
$PATHBAR您将得到名为PATHBAR的变量的扩展,这可能不是您想要的。如果你这样做了
$PATH BAR你会在FOO和BAR之间得到一个空格,这也不是你想要的。解决方案是使用大括号:
${PATH}BAR这将为您提供FOOBAR。
发布于 2009-09-12 20:21:23
PATH是环境变量的名称,$PATH和${PATH}是访问它们的方法。表单${PATH}用于允许像echo ${PATH}b这样的构造,这些构造使用$PATHb会失败。此外,bash允许进行大量的参数替换,man page会很乐意告诉您更多信息。
发布于 2009-09-12 20:22:43
在您的情况下没有区别,但是-以这种情况为例:您有两个变量:
$FOO = "YA"
$YADA = "bar"那么${$FOODA}什么都不会给你,而${${FOO}DA}会给你"bar“
https://stackoverflow.com/questions/1416024
复制相似问题