如何在Bash腳本中編寫IF語句

命令,語法和示例

使用if語句(這是一種條件語句),可以根據指定的條件執行不同的操作。 它有效地為系統提供決策的能力。

if語句的最簡單形式的一個例子是:

count = 5 if [$ count == 5]然後echo“$ count”fi

在本例中,變量“count”用於指定用作if語句一部分的條件。 在執行if語句之前,變量“count”被分配值“5”。 if語句然後檢查“count”的值是否為“5”。 如果是這種情況,則執行關鍵字“then”和“fi”之間的語句,否則執行if語句後面的任何語句。 關鍵字“fi”是“if”向後拼寫。 bash腳本語言使用這種約定來標記複雜表達式的結尾,例如if語句或case語句。

“echo”語句將其參數(在本例中為變量“count”的值)輸出到終端窗口。 if語句的關鍵字之間的代碼縮進提高了可讀性,但不是必需的。

如果只有條件不成立時才會執行一段代碼,則可以在if語句中使用關鍵字“else”,如下例所示:

count = 5 if [$ count == 5]然後echo“$ count”else echo“count is not 5”fi

如果條件“$ count == 5”為真,系統打印變量“count”的值,否則打印字符串“count is not 5”。

如果要區分多個條件,可以使用從“else if”派生的關鍵字“elif”,如下例所示:

如果[$ count == 5],那麼echo“count is five”elif [$ count == 6],然後echo“count is six”else else“none of the above”fi

如果“count”為“5”,則係統打印出“count is five”。 如果“計數”不是“5”而是“6”,則係統打印“計數為六”。 如果它不是“5”和“6”,則係統打印“以上都不是”。

正如你可能猜到的,你可以有任意數量的“elif”子句。 具有多個“elif”條件的示例是:

如果[$ count == 5]然後echo“count is five”elif [$ count == 6],那麼echo“count is six”elif [$ count == 7]然後echo“count is seven”elif [$ count = = 8]然後echo“count is eight”elif [$ count == 9]然後echo“count is nine”else else echo“above of the above”fi

使用多種條件編寫此類語句的更簡潔的方法是實例方法。 它的功能類似於帶有多個“elif”子句的if語句,但更簡潔。 例如,上面的一段代碼可以用“case”語句重寫,如下所示:

在5)echo“count is five”的情況下“$ count”;;; 6)迴聲“計數是六”;; 7)echo“count is seven”;; 8)echo“count is eight”;; 9)echo“count is nine”;; *)迴聲“以上都不是”esac

如果在這個例子中if語句經常用在for循環while循環中:

count = 1 done = 0 while [$ count -le 9] do sleep 1((count ++))if [$ count == 5]然後繼續fi echo“$ count”done echo完成

你也可以嵌套if語句。 最簡單的嵌套if語句的形式如下:if ... then ... else ... if ... then ... fi ... fi。 但是,if語句可以嵌套任意的複雜性。

另請參閱如何將參數傳遞給bash腳本 ,該腳本顯示如何使用條件來處理從命令行傳遞的參數。

bash shell提供了其他編程結構,例如for循環while循環算術表達式