2011-11-24 53 views
6

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

回答

9

说你要打印$VARIABLE紧接着"string"

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

击也是用这个语法支持string manipulation。你可能想这样做

+0

感谢。还有其他的区别吗? –

+0

@爱国者不,没有其他区别。 –

+0

解引用数组时,'$ {}'形式也是必不可少的。有关更多详细信息,请参阅http://tldp.org/LDP/abs/html/arrays.html。 –

3

一个原因是{}充当分隔符:

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

这个功能经常被用来保护一个变量名从周围的人物。

$ var=foo 

如果我们希望在$var年底将字符串我们不能做:

$ echo $varbar 

$ 

,因为这是试图用一个新的变量$varbar
相反,我们需要在{}包围var为:

$ echo ${var}bar 
foobar 
相关问题