我想测试一个条件是真还是假。这是一个示例 bash 脚本:
#!/bin/bash
set -x
var=foo
if [[ $var==bar ]]
then
echo $var is bar
else
echo $var is not bar
fi
set +x
我希望输出为foo is not bar
,但我得到以下输出:
foo is bar
在查看调试输出时,我注意到正在评估条件-n
:
+ var=foo
+ [[ -n foo==bar ]]
+ echo foo is bar
foo is bar
+ set +x
在Bash Conditional Expressions 手册页上它说
-n 字符串
如果字符串的长度不为零,则为真。
但是我对字符串长度是否非零不感兴趣,而是两个字符串是否彼此相等。