首页 > 解决方案 > 以下 unix 代码的输出是什么?

问题描述

a=x b=x
 If [ $a -eq $b ]
 Then
 echo "a is equal to b"
 else
 echo "a is not equal to b"
fi

上面的代码会成功输出“a is equal to b”还是有一些错误?

标签: linuxunix

解决方案


-eq用于整数比较,但您正在比较字符串。使用=(或bash-ism ==):

[ "$a" = "$b" ]

像我一样,引用变量扩展以防止分词和路径名扩展。


推荐阅读