Bash:If、Else If、Elseの例

Bash If Else If Else Examples



Bash条件ステートメントは、さまざまな条件に対して何らかのアクションを実行できるようにするステートメントです。これらのステートメントは、プログラマーによって指定された条件がtrueまたはfalseのどちらに評価されるかに基づいて、コードのブロックを実装します。 trueと評価された場合は、特定のコードブロックを実行します。それ以外の場合は、次の条件に移動します。

Bashにはさまざまなタイプの条件ステートメントがあります。







  1. ifステートメント
  2. if-elseステートメント
  3. if..elif..elseステートメント
  4. ネスト

この記事では、条件ステートメントの1つであるif、elseif、elseをいくつかの例とともに学習します。他のいくつかの言語では、elifはelseifまたはelseifとして記述されます。 elifステートメントは、さまざまな選択肢の中から決定を下すのに役立ちます。



if、elseif、elseの構文は次のとおりです。



もしも <test_expression>>;それから
<実行するコマンド>>
エリフ <test_expression>>;それから
<実行するコマンド>>
そうしないと
<実行するコマンド>>
なれ

if ’キーワードの後に​​、チェックする条件が続きます。このif-else-if条件文では、式は上から下に評価されます。





  • これに続いて それから キーワード。
  • その後、式がtrueと評価されると、対応するステートメントが実行されます。式がfalseと評価された場合、elif内の対応するステートメントが実行されます。
  • いずれの条件も真でない場合、elseblocked内のステートメントが実行されます。

例1

elif(else if)は、複数のif条件に使用されます。最初の条件がfalseになった場合は、別のif条件を確認してください。次の例では、ユーザーからの入力を受け取り、対応するステートメントを表示しています。

  • if条件を使用して、マークが80以上であるかどうかを確認します。条件がtrueと評価された場合、thenブロックの下でechoコマンドを使用してExcellentを出力します。
  • 最初の条件がfalseと評価された場合、elif条件を使用して、マークが70以上であるかどうかを確認します。これがtrueと評価された場合、Goodと出力されます。
  • 上記の条件のいずれもtrueと評価されない場合、else条件に移行し、Satisfactoryと出力されます。
読んだ -NS 'マークを入力してください:'マーク
もしも [ $ marks -与える 80 ]
それから
捨てた '優秀な'

エリフ [ $ marks -与える 60 ]
それから
捨てた '良い'

そうしないと
捨てた 「満足」
なれ

例2:

たとえば、特定のコースのマークを文書化する必要があります。合計点数は200点で、クイズは100点、課題は100点です。全体の数が200を超えないようにしながら、課題とクイズの合計を表示したいと思います。



  1. 入力を取ります:quiz_marksとassignments_marks
  2. if条件とelif条件を使用して、2つの入力のいずれもがそれぞれの可能な最大マーク(100)を超えていないことを確認します。
  3. 入力quiz_marksまたはassignments_marksのいずれかが100を超える場合は、echoコマンドを使用して警告メッセージを表示します。
  • クイズの入力マークを確認してください
  • 割り当ての入力マークを確認してください
  1. 上記の条件のいずれも一致しない場合、つまりどちらのマークも100を超えない場合は、else条件に移動し、echoコマンドを使用してマークの合計を表示します。
#!/ bin / bash
読んだ -NS '理論マークを入力してください:'quiz_marks
読んだ -NS '実用的なマークを入力してください:'Assignments_marks
もしも (((($ quiz_marks >> 50)。)。;
それから
捨てた 「クイズの入力マークを確認してください。」
エリフ (((($ assignments_marks >> 50)。)。;
それから
捨てた 「割り当ての入力マークを確認してください。」
そうしないと
捨てた 'あなたの合計点数:sum =$((クイズ_マーク+割り当て_マーク)) '
なれ

例3:

銀行口座プログラムの別の例を見てみましょう。このプログラムでは、3つの異なる状況に対して3つの別々の出力が必要です。

  • 残高がゼロ未満
  • バランスはゼロです
  • 残高がゼロを超えています

たとえば、次のプログラムでは、if、elif、elseステートメントを使用して、さまざまなシナリオでさまざまな出力を表示します。

  1. if条件を使用して、残高がゼロ未満かどうかを確認します。この条件がtrueと評価された場合は、echoコマンドを使用してメッセージを表示します。残高がゼロ未満です。資金を追加してください。追加しないと、ペナルティが課せられます。
  2. 上記の条件が一致しない場合は、elif条件を使用して、残高がゼロに等しいかどうかを確認します。 trueと評価された場合は、次のメッセージを表示します。残高がゼロです。資金を追加してください
  3. 上記の条件のいずれにも一致しない場合は、else条件を使用して次を表示します。残高がゼロを超えています。
#!/ bin / bash
バランス=900
もしも ((((バランス< 0)。)。;それから
捨てた 「残高がゼロ未満です。さらに資金を追加してください。追加するとペナルティが課せられます」
エリフ ((((バランス==0)。)。;それから
捨てた 「残高はゼロです。資金を追加してください」
そうしないと
捨てた 「あなたの残高はゼロを超えています。」
なれ

上記の条件ステートメントの例if、elif、elseから、この条件ステートメントがどのように機能し、さまざまなシナリオでどこで使用できるかを理解できるはずです。あなたがその記事を気に入ってくれたことを願っています。