[$?的含义== 1 ] && 返回 0

[$?的含义== 1 ] && 返回 0

我需要理解这个命令:

[ $? == 1 ] && return 0

答案1

该表达式的$?计算结果为上一个命令的退出代码。

&&是一个命令分隔符,当且仅当第一个命令返回退出代码为零时,它将运行第二个命令。

[或者test是一个shell工具,可以进行各种对比测试。

我应该指出,==这里使用的测试是错误的,因为这是为了细绳比较;-eq是平等检验数值比较。

因此: [ $? -eq 1 ] && return 0将查看前一个命令的退出代码,并将其与1.如果存在匹配,return 0则将执行该命令(从而绕过我认为该测试所在函数中的后续命令)。

==和 的用法之间的区别-eq是,[ 01 -eq 1 ]true[ 01 == 1 ]为 false。

相关内容