刚学shell起步,碰到一个小问题记录一下
if [ -n $var ]
then
echo "var is $var"
fi
var值为空的时候,不加“”,不是我们想象中的不会执行,而是执行了,为什么呢?
后来才知道变量名是需要“”括起来才是会得到我们想要的答案,不加引号的情况下,表达式变成了[ -n ],当然返回是True了
正确的应该是
if [ -n "$var" ]
then
echo "var is $var"
fi
刚学shell起步,碰到一个小问题记录一下
if [ -n $var ]
then
echo "var is $var"
fi
var值为空的时候,不加“”,不是我们想象中的不会执行,而是执行了,为什么呢?
后来才知道变量名是需要“”括起来才是会得到我们想要的答案,不加引号的情况下,表达式变成了[ -n ],当然返回是True了
正确的应该是
if [ -n "$var" ]
then
echo "var is $var"
fi