Bash 条件ステートメントは、プログラマーが指定したブール条件が true と評価されるか false と評価されるかによって、異なる計算またはアクションを実行します。これらのステートメントは、特定の条件が真であるかどうかに応じて、シェル プログラムのさまざまな部分を実行するために使用されます。分岐機能により、シェル スクリプトは強力になります。
Bash には、次の条件ステートメントがあります。
<オール>これらは、前に説明した awk if ステートメントに似ています。
1. Bash If..then..fi ステートメント
if [ conditional expression ] then statement1 statement2 . fi
このif文は簡易if文とも呼ばれます。指定された条件式が真の場合、キーワード「then」と「fi」で囲まれたステートメントに入り、実行します。指定された式がゼロを返す場合、結果ステートメント リストが実行されます。
if then fi 例:
#!/bin/bash count=100 if [ $count -eq 100 ] then echo "Count is 100" fi
2. Bash If..then..else..fi ステートメント
If [ conditional expression ] then statement1 statement2 . else statement3 statement4 . fi
条件式が真の場合、statement1、2 を実行します。条件式が 0 を返した場合、else 部分にジャンプし、statement3、4 を実行します。if/else 部分の実行後、後続ステートメントから実行が再開されます。
if then else fi 例:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else echo "Count is not 100" fi
注: この記事は、進行中の Bash チュートリアル シリーズの一部です。
3. Bash If..elif..else..fi
If [ conditional expression1 ] then statement1 statement2 . elif [ conditional expression2 ] then statement3 statement4 . . . else statement5 fi
多数のコード ブロックから 1 つを選択して実行する場合は、これを if .. elif.. if で使用できます。式 1 をチェックし、真であればステートメント 1,2 を実行します。式 1 が false の場合、式 2 をチェックし、すべての式が false の場合は、else ブロックに入り、else ブロック内のステートメントを実行します。
if then elif then else fi 例:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" elif [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi
4. Bash If..then..else..if..then..fi..fi..
If [ conditional expression1 ] then statement1 statement2 . else if [ conditional expression2 ] then statement3 . fi fi
if ステートメントと else ステートメントは、bash でネストできます。キーワード「fi」は内部の if ステートメントの終わりを示し、すべての if ステートメントはキーワード「fi」で終了する必要があります。
上記の「if then elif then else fi」の例は、以下に示すようにネストされた if に変換できます。
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else if [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi fi
次の記事では、Bash の条件式の使用方法と実際の例について説明します。
推奨読書
Bash 101 ハック、Ramesh Natarajan 著 .私はほとんどの時間を Linux 環境に費やしています。だから当然、私は Bash のコマンド ラインとシェル スクリプトの大ファンです。 15 年前、さまざまな種類の *nix に取り組んでいたとき、C シェルと Korn シェルで多くのコードを記述していました。後年、システム管理者として Linux の作業を開始したとき、Bash シェル スクリプトを使用して、考えられるすべてのタスクをほぼ自動化しました。私の Bash での経験に基づいて、Bash コマンド ラインとシェル スクリプトの両方に関する 101 の実用的な例を含む Bash 101 Hacks eBook を作成しました。 Bash の習得を考えている場合は、ぜひこの本を読んでください。Bash のコマンド ラインとシェル スクリプトを制御するのに役立ちます。