关于文件: .bash_配置文件
之间有什么不同
PATH=${PATH}:${HOME}/bin:/usr/local/
到
PATH=$PATH:$HOME/bin:/usr/local
正确的语法是什么?
答案1
我猜当以以下形式使用变量时,它们都是等效的:
${HOME}
大括号用于分隔变量 WORD,否则无法与直接相邻的另一个 WORD 区分开来。例如
echo $HOMEahoy
不会产生任何结果(除了 中的换行符echo
)
echo ${HOME}ahoy
会像你期望的那样回响你的主页路径 plus ahoy
。
我怀疑在这种情况下{}
是不必要的,因为=:/
可能不是有效的变量字符bash
,因此 bash 可以自行计算出 WORD 边界。
当编写 shell 脚本时,如果有疑问,我总是放入花括号。
这个想法不限于bash
PHP 具有类似的行为 - 除了在 PHP 中它们采取稍微不同的形式,例如{$VAR_NAME}