Bash参考手册说
[字符串]
和
[-n字符串]
如果string的长度不为 0 ,都将返回true
但事实并非如此
greet=
if [ $greet ]; then
echo '1'
else
echo '2'
fi
if [ -n $greet ]; then
echo '1'
else
echo '2'
fi
输出为
2
1
Bash参考手册只是说
-n string
string
True if the length of string is non-zero.
那么,这两种形式的真正区别是什么?