bash判断变量是空字符串的怪问题!
发表于 : 2013-03-06 14:26
对于非空字符串,一点问题没有:
返回2和1
可是当a为空字符串时
出现错误判断了,都返回1;结果发现$a需要加"$a"
就正常了,返回1和2;但问题是为什么$a是空时,需要将其添加双引号才能判断成功
代码: 全选
a='123'
if [ -z $a ];then echo '1' ;else echo '2';fi
if [ -n $a ];then echo '1' ;else echo '2';fi
可是当a为空字符串时
代码: 全选
a=''
if [ -z $a ];then echo '1' ;else echo '2';fi
if [ -n $a ];then echo '1' ;else echo '2';fi
代码: 全选
a=''
if [ -z "$a" ];then echo '1' ;else echo '2';fi
if [ -n "$a" ];then echo '1' ;else echo '2';fi