logo

Else If をバッシュする

このトピックでは、Bash スクリプトで else-if (elif) ステートメントを使用して自動化されたタスクを完了する方法を理解します。

Bash の else-if ステートメントは複数の条件に使用されます。これは、Bash の if-else ステートメントへの追加のようなものです。 Bash elif では、それぞれにブール式を持つ複数の elif ブロックが存在する場合があります。最初の「if ステートメント」の場合、条件が false になると、2 番目の「if 条件」がチェックされます。

Bash Else If (elif) の構文

Bash シェル スクリプトの else-if ステートメントの構文は次のように定義できます。

Pythonの剰余演算子
 if [ condition ]; then elif [ condition ]; then else fi 

if-else と同様に、条件演算子を使用して結合された 1 つ以上の条件のセットを使用できます。条件が true の場合、一連のコマンドが実行されます。真の条件がない場合は、「else ステートメント」内のコマンド ブロックが実行されます。

以下に、else-if ステートメントの使用法を示すいくつかの例を示します。

例1

次の例は、最初の else-if ステートメントの条件が true であり、2 番目の else-if ステートメントの条件が false である 2 つの異なるシナリオで構成されています。

Javaメソッド

Bash スクリプト

 #!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 100 ]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'Eligible for 5% discount' else echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' fi 

出力

  • 数量を 110 と入力すると、「if ステートメント」の条件は true と評価され、出力は次のようになります。
Else If をバッシュする
  • 数量の数を 90 と入力すると、「elif ステートメント」の条件は true と評価され、出力は次のようになります。
Else If をバッシュする
  • 数量を 100 と入力すると、どの条件も真になりません。この場合、「else ステートメント」内のコマンドのブロックが実行され、出力は次のようになります。
Else If をバッシュする

これが基本的な bash else-if の仕組みです。

例 2

この例は、Bash の else-if ステートメントで複数の条件を使用する方法を示しています。 bash 論理演算子を使用して複数の条件を結合します。

Bash スクリプト

 #!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 200 ]; then echo 'Eligible for 20% discount' elif [[ $num == 200 || $num == 100 ]]; then echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' elif [[ $num -gt 100 && $num -lt 200 ]]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'No discount' fi 

注: else ブロックはオプションであることに注意してください。

出力

数量を 100 と入力すると、出力は次のようになります。

bツリーとbツリー
Else If をバッシュする

さまざまな値を入力してこの例を試し、結果を確認してください。

結論

このトピックでは、Bash else-if ステートメントの構文と使用法について例を示しながら学習しました。