Bash 指令碼中的邏輯或運算子

Yahya Irmak 2023年1月30日 2022年5月11日
  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 運算元

Author: 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