Bash - $ PATH和$ {PATH}

mk1*_*k12 5 bash shell terminal environment-variables

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

Ada*_*eld 14

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

$PATHBAR
Run Code Online (Sandbox Code Playgroud)

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

$PATH BAR
Run Code Online (Sandbox Code Playgroud)

你会得到一个空间之间FOOBAR,你想也没有什么.解决方案是使用大括号:

${PATH}BAR
Run Code Online (Sandbox Code Playgroud)

这给了你FOOBAR.


Bom*_*mbe 5

PATH是环境变量的名称,$PATH${PATH}访问它们的方法。该表单${PATH}用于允许echo ${PATH}b使用 会失败的构造$PATHb。此外,还bash允许进行大量参数替换,手册页会很乐意告诉您更多相关信息。