哪个更好用"=="或"-eq"来比较bash shell中的整数?

Ami*_*rma 1 bash shell

我可以看到一些文章喜欢 这个地方应提到的是"当量"是用于比较整数,但是这并不能说我们不能用"=="比较整数.

我在本地bash shell上验证了这一点,"=="工作正常.那么任何人都可以让我帮助理解哪个是更好的选择,如果"-eq"那么为什么呢?

Joh*_*024 5

要比较整数,请使用-eq.区别在于==比较数值时的字符串-eq值.这是一个产生不同结果的例子:

$ [ 03 = 3 ] ; echo $?
1
$ [ 03 -eq 3 ] ; echo $?
0
Run Code Online (Sandbox Code Playgroud)

它是相同的使用[[:

$ [[ 03 == 3 ]] ; echo $?
1
$ [[ 03 -eq 3 ]] ; echo $?
0
Run Code Online (Sandbox Code Playgroud)

作为一个数字,03等于3.但是,作为一个字符串03,3是不同的.

摘要:要比较相等的数值,请使用 -eq