Bash 脚本中的逻辑或运算符

Yahya Irmak 2023年1月30日
  1. Bash 中的逻辑 OR 运算符 (||)
  2. 具有非布尔值的逻辑 OR 运算符 (||)
  3. 在 Bash 脚本中使用逻辑 OR 运算符 (||)
Bash 脚本中的逻辑或运算符

我们将在本文中解释逻辑 OR 运算符(||)及其工作原理。我们还将举例说明如何在 Bash 脚本中使用它。

Bash 中的逻辑 OR 运算符 (||)

逻辑 OR 运算符||处理多个值。它通常与布尔值一起使用并返回一个布尔值。如果至少有一个操作数为真,则返回。如果所有值都为假,则返回

让我们举几个例子。

True  || False --> True
False || True  --> True
True  || True  --> True
False || False --> False

具有非布尔值的逻辑 OR 运算符 (||)

如果逻辑 OR 运算符 (||) 与字符串和数字等非布尔值一起使用,则返回值将不是布尔值。参考下面的例子。

param1 || param2 || param3

如果 param1 的布尔值为 true,则返回该操作数的值,忽略其他操作数。否则,检查 param2

如果其布尔值为 true,则结果为 param2 的值,其余操作数将被忽略。这个过程一直持续到最后一个操作数。

如果最后一个操作数的布尔值也不是 true,则结果是最后一个操作数的值。

以下表达式的布尔值为 false。其余的都是真实

  • 0
  • NaN
  • null
  • undefined
  • "", '' (空字符串)

让我们举例说明非布尔值。

1   || 0   --> 1
""  || 1   --> 1
""  || 0   --> 0
1   || "x" --> 1
"x" || 1   --> "x"

具有非布尔值的 OR 操作数

在 Bash 脚本中使用逻辑 OR 运算符 (||)

逻辑 OR 运算符 (||) 在 Bash 脚本中是相同的。现在,我们将使用 Bash 脚本语法检查该示例。

if [ 1 -eq 2 ] || [ 1 -eq 1 ]; then
        echo "The result of the operation is true"
else
        echo "The result of the operation is false"
fi

在上面的 if 块中,操作数被赋予逻辑 OR 运算符 (||)。第一次比较的结果是 false,因为 12 不相等。

由于在第二次比较中这两个值相同,因此它们相等,从而得出 true。所以,我们的过程变成了 false ||真的。该操作返回 true,并且第一个 echo 命令按照我们上面解释的方式运行。

Bash 脚本中的 OR 操作数

我们也可以使用 -o 标志进行此操作。

if [ 1 -eq 2 -o 3 -eq 4 ]; then
        echo "The result of the operation is true"
else
        echo "The result of the operation is false"
fi

这段代码的逻辑与第一个相同。但是这一次,操作的结果将是,因为两个比较都是假的。因此,else 块内的 echo 命令运行。

带有 -o 标志的 Bash 脚本中的 OR 操作数

作者: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

相关文章 - Bash Operator