HOWTO · Bash

Bash の単一行 if...else

このチュートリアルでは、Bash の単一行 if-else について説明します。

このページの内容

条件文は、さまざまな条件に依存することを決定するプログラムの基本的な部分です。この記事では、if ... else 条件ステートメントと、1 行の if ... else ステートメントを作成する方法について学習します。

また、トピックを簡単にするために必要な例と説明が表示されます。

ご存知のように、Bash の if ... else の一般的な構文は次のとおりです。

if [ YOUR_CONDITION_HERE ]
then
    // Block of code when the condition matches
else
   // Default block of code
fi

ここで、if ... else ステートメントの 1 行形式に進む前に、この条件ステートメントの複数行形式を理解する必要があります。

Bash の if ... else の複数行の例

以下の例では、値が 15 より大きいかどうかを確認します。この目的のために、if ... else ステートメントと複数行形式を使用します。

これで、この例のコードは次のようになります。

num=10
if [ $num -gt 15 ]
then
    echo "The provided value is greater than 15"
else
   echo "The provided value is less than 15"
fi

サンプルコードを実行すると、以下の出力が得られます。

The provided value is less than 15

コード -gt はより大きいを意味することを覚えておいてください。

Bash の if ... else の 1 行の例

次に、上記の例の 1 行バージョンを確認します。この例でも同様の出力が得られますが、コード構造は 1 行になります。

同様のコードは次のようになります。

num=16
if [ $num -gt 15 ]; then echo "The value is greater than 15"; else echo "The value is less than 15"; fi

ここで行う必要があるのは、記号 ; を含めることだけです。したがって、上記の例から、単一行 if ... else の一般的な構文は次のようになっていることが簡単にわかります。

if [ YOUR_CONDTION_HERE ]; then # Block of code when the condition matches; else # Default block of code; fi

サンプルコードを実行すると、次の例が表示されます。

The value is greater than 15

ネストされた if ... else または複雑な条件で作業する場合、1 行で書き込むのは非常に困難です。そして、エラーが発生する可能性が最も高くなります。

さらに、if ... else という 1 行を使用すると、コード内のエラーやバグを見つけるのが困難になります。

この記事のすべてのコードは Bash で書かれています。Linux シェル環境でのみ実行可能です。