Shell 变量用双引号(转载)
文章转自http://blog.csdn.net/nodeathphoenix/article/details/8989576
Shell 变量用双引号引起来,双引号就是表示这个双引号内为一个字符串。
对于 if 条件语句里所有的字符串的比较时,最好是在变量的外面加上双引号。特别是 if -n 判断字符串是否为null时候(null意思就是字符串长度为0),一定要加上双引号。否则,像下面的case就会出错。
a=”"
if [ -n $a ] 等价于 if[ -n ]
对于字符串长度为0时,相当于没有参数,这句总返回为真。明明a的为空串,长度为空,但是却判断出来为非空字符串。
改为if [ -n "$a" ]就没有此问题,可以判断出来为此为空字符串。
对于字符串的变量,一个比较特殊的情况,就是数组变量。这个时候变量外面不能用双引号,否则的话,shell会把双引号里的内容当作一个字符串,而不会去以空格分割里面的内容。
arr=”12 3 4 5″
for i in $arr —当数组用,所以不能加双引号
do
echo $i
done
结果:
1
2
3
4
5
arr=”12 3 4 5″
for i in “$arr” –加了双引号,就为将$arr的内容作为一个字符串一起输出
do
echo $i
done
结果:
1 2 3 4 5
所以,对于字符串的变量,一般最好是加上双引号;对于数值型的变量,可不加双引号。
JavaScript程序员必备的5个debug技巧(转载) php ob_start()、ob_end_flush和ob_end_clean()多级缓冲(转载)