HOWTO · Bash

Bash 中的單行 if...else

本教程將討論 Bash 中的單行 if-else。

條件語句是決定依賴於各種條件的任何程式的基本部分。在本文中,我們將瞭解 if ... else 條件語句以及如何建立單行 if ... else 語句。

此外,我們將看到必要的示例和解釋,以使主題更容易。

眾所周知,Bash 中 if ... else 的一般語法是:

if [ YOUR_CONDITION_HERE ]
then
    // Block of code when the condition matches
else
   // Default block of code
fi

現在,在我們討論 if ... else 語句的單行格式之前,我們需要了解這個條件語句的多行格式。

Bash 中 if ... else 的多行示例

下面的示例將檢查一個值是否大於 15。為此,我們將使用 if ... else 語句和多行格式。

現在,我們示例的程式碼將如下所示:

num=10
if [ $num -gt 15 ]
then
    echo "The provided value is greater than 15"
else
   echo "The provided value is less than 15"
fi

執行示例程式碼後,你將獲得以下輸出。

The provided value is less than 15

記住程式碼 -gt 的意思是大於。

Bash 中 if ... else 的單行示例

現在我們將看到上述示例的單行版本。此示例將提供類似的輸出,但程式碼結構將是單行。

類似的程式碼如下所示。

num=16
if [ $num -gt 15 ]; then echo "The value is greater than 15"; else echo "The value is less than 15"; fi

你必須在這裡做的唯一一件事就是包含一個符號 ;。所以從上面的例子中,我們可以很容易地發現單行 if ... else 的一般語法類似於:

if [ YOUR_CONDTION_HERE ]; then # Block of code when the condition matches; else # Default block of code; fi

執行示例程式碼後,你將獲得以下示例。

The value is greater than 15

在使用巢狀的 if ... else 或複雜條件時,將其寫在一行非常困難。並且出錯的可能性最高。

此外,如果你使用單行 if ... else,將很難發現你程式碼中的錯誤和漏洞。

本文中的所有程式碼都是用 Bash 編寫的。它只能在 Linux Shell 環境中執行。