分页: 1 / 1
[问题]shell变量使用问题
发表于 : 2008-08-14 8:36
由 boswellyoung
在shell中使用变量时,如
代码: 全选
TMP_VAR=1
echo $TMP_VAR
echo ${TMP_VAR}
echo "${TMP_VAR}"
这三者有什么区别么?
亦或
代码: 全选
TMP_VAR=1
if [ $TMP_VAR = "1" ]; then
...
fi
if [ ${TMP_VAR} = "1" ]; then
...
fi
if [ "${TMP_VAR}" = "1" ]; then
...
fi
有什么区别么?
发表于 : 2008-08-14 9:25
由 xiooli
第一个和第二个没啥区别,括起来要规范些,如果变量的名字不只一个字母的最好括起来,如果没括假如有两个变量TMP_VAR 和TMP,那机器就不知道是哪个了。最外面打括号是让变量的值结合成一体,免得判断错误,拿你那个if语句来说:if [ ${TMP_VAR} = "1" ]; then ,如果${TMP_VAR}的值为a b c,那么就会出现:bash: [: 过多的参数 这样的错误,而括起来就不会。