我使用SH shell,我试图比较一个字符串与变量的值,但if条件总是执行为true。为什么?
这里是一些代码:
Sourcesystem="ABC" if [ "$Sourcesystem" -eq 'XYZ' ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi; echo Sourcesystem Value is $Sourcesystem ;
即使这不工作:
Sourcesystem="ABC" if [ 'XYZ' -eq "$Sourcesystem" ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi; echo Sourcesystem Value is $Sourcesystem ;
第二,我们可以将其与NULL或空字符串匹配吗?
您应该使用=运算符进行字符串比较:
Sourcesystem="ABC" if [ "$Sourcesystem" = "XYZ" ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi;
man测试说,你使用-z匹配空字符串。