$ VARIABLE和$ {VARIABLE}之间有什么区别

时间:2011-11-24 09:38:58

标签: linux bash variables

有人可以请我解释为什么有些Linux专家建议我们在Bash脚本中使用$ {VARIABLE}吗?似乎没有任何区别。

3 个答案:

答案 0 :(得分:10)

假设您要紧接着$VARIABLE

打印"string"
echo "$VARIABLEstring"    # tries to print the variable called VARIABLEstring
echo "${VARIABLE}string"  # prints $VARIABLE and then "string"

Bash还支持string manipulation使用此语法。

答案 1 :(得分:3)

您可能希望这样做的一个原因是{}充当分隔符:

a=42
echo "${a}sdf"  # 42sdf
echo "$asdf"  # prints nothing because there's no variable $asdf

答案 2 :(得分:2)

此功能通常用于保护变量名称不受周围字符的影响。

$ var=foo

如果我们希望在$var末尾连接一个字符串,我们不能这样做:

$ echo $varbar  

$ 

因为这是尝试使用新变量$varbar。我们需要将var括在{}中作为:

$ echo ${var}bar
foobar