在Linux中使用测试命令时,将等于“零”的“零”与“零”进行数值比较时,通过回波$获取退出代码0?
$[ 0 -eq 0 ]
$echo $?
0但是,当使用不等于进行测试时,为什么退出代码显示为false,退出值为1?
$[ 0 -ne 0 ]
$echo $?
1人测试
INTEGER1 -ne INTEGER2
INTEGER1 is not equal to INTEGER2有人能解释一下,当将等同于同一个整数时,它背后的逻辑不等于?
发布于 2022-05-03 17:26:52
在bash中,0(这实际上意味着没有错误)表示true,非零(例如1)表示有一些错误,AKA false。
试试这个:
if [ 0 -ne 0 ]
then
echo The above is not true
else
echo The above is true
fi或者,以一条线的形式:
if [ 0 -ne 0 ]; then echo true; else echo false; fi发布于 2022-05-03 17:29:49
按照惯例,零的退出代码表示成功,而非零表示错误/失败。考虑:
$ true
$ echo $?
0
$ false
$ echo $?
1
$ if true; then echo ok; else echo no; fi
ok
$ if false; then echo ok; else echo no; fi
no
$ if [ 0 -ne 0 ]; then echo ok; else echo no; fi
nohttps://stackoverflow.com/questions/72103173
复制相似问题