我正在使用SH shell,尝试将一个字符串与一个变量的值进行比较,但if
条件始终为真。为什么会这样?
以下是一些代码:
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 ;
其次,我们能否将其与空值或空字符串匹配?
sh
和bash
的关系就像C
和C++
一样。尽管第一个编写的代码在第二个中有效,但第二个的答案不能保证在第一个中正常工作。 - btilly