“如果”中的 -o 是什么意思?

“如果”中的 -o 是什么意思?

上述代码中 -eq 后面的 -o 是什么:

……[ $sorszam -eq 0 ] && min1=$ertek; [ $sorszam -eq 1 -o $sorszam -eq 2 -o $sorszam -eq 3 ] && [ $ertek -lt $min1 ] && min1=$ertek

答案1

正如你所看到的Linux 文档项目页面有关如果,-o代表逻辑运算符或者。在您的例子中,sorszam将检查该变量是否等于 1、2 还是 3。

答案2

您应该知道,[它相当于test内置命令。

$ help [
[: [ arg... ]
    This is a synonym for the "test" builtin...

所以你应该看看help test | grep -- "-o "

EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.

答案3

-eq是一个算术二元运算符,如果两个数字相等则返回 true。

-o是一个or,你可以将它串起来,-eq在一行中进行多次比较。

来源

相关内容