このトピックでは、Bash スクリプトで if-else ステートメントを使用して自動化されたタスクを完了する方法を理解します。
Bash if-else ステートメントは、ステートメントの順次実行フローで条件付きタスクを実行するために使用されます。場合によっては、条件が true の場合は特定のステートメントのセットを処理し、条件が false の場合は別のステートメントのセットを処理したいことがあります。このようなタイプのアクションを実行するには、if-else メカニズムを適用できます。 「if ステートメント」を使用して条件を適用できます。
Bash If Else 構文
Bash シェル スクリプトの if-else ステートメントの構文は次のように定義できます。
cdr 完全形式
if [ condition ]; then else fi
覚えておくべき重要なポイント
- 条件演算子を使用して結合された 1 つ以上の条件のセットを使用できます。
- Else ブロック コマンドには、条件が false の場合に実行する一連のアクションが含まれています。
- 条件式の後のセミコロン (;) は必須です。
Bash スクリプトでの if-else ステートメントの使用を示す次の例を確認してください。
例1
次の例は、最初の if-else ステートメントの条件が true であり、2 番目の if-else ステートメントの条件が false である 2 つの異なるシナリオで構成されています。
#!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi
出力
最初の if-else 式では、条件 ( 10 -gt 3 ) が true であるため、if ブロック内のステートメントが実行されます。一方、他の if-else 式では、条件 ( 3 -gt 10 ) が false であるため、else ブロック内のステートメントが実行されます。
例 2
この例では、Bash の if-else ステートメントで複数の条件を使用する方法を説明しました。 bash 論理演算子を使用して複数の条件を結合します。
#!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi
出力
単一行の Bash If Else ステートメント
完全な「if-else ステートメント」とコマンドを 1 行で書くことができます。 if-else ステートメントを 1 行で使用するには、指定されたルールに従う必要があります。
.tif ファイル
- if ブロックと else ブロックのステートメントの最後にはセミコロン (;) を使用します。
- すべてのステートメントを追加するには、区切り文字としてスペースを使用します。
以下に、if-else ステートメントを 1 行で使用する方法を示す例を示します。
例
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi
出力
値として 25 を入力すると、出力は次のようになります。
If Else のネストされた Bash
ネストされた if ステートメントと同様に、if-else ステートメントを別の if-else ステートメント内で使用することもできます。これは、Bash スクリプトではネストされた if-else と呼ばれます。
以下は、Bash でネストされた if-else ステートメントを使用する方法を説明する例です。
例
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo '$value>9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>