次のページ 前のページ 目次へ

6. 条件制御(conditionals)

条件制御を使えば、ある命令を実行をすべきかどうかの決定ができます。 そして、この決定は、式の評価によりなされます。

6.1 セオリー

条件制御には、多くの形式があります。最も基本的な形式は、「if 条件式 then 実行文」 であり、この実行文は 条件式の評価が真であるときだけ実行されます。" 2 < 1 " というのは偽と評価される条件式であり、" 2 > 1 " というのは真と評価される条件式です。

また、条件制御は、「if 条件式 then 実行文1 else 実行文2 」という形式もとりま す。ここでは、条件式が 真のとき実行文 1 が実行され、それ以外のときは実行文 2 が実行されます。

条件制御にはさらに別の形式もあります。「if 条件式1 then 実行文1 else if 条件式2 実行文 2 else 実行文3 」 です。この形式では、 "else if 条件式2 then 実行文2 " というのが加わっただけですが、これはもし条件式2 の評価が真 ならば実行文2 を実行するものです。 その他の部分については、読者の想像通りです。(これまでの形式をご覧ください)

構文に関してですが、 bashif 制御構造を使うときの基本は以下のようなものです。

        if [条件式]
        then
        (if の条件が真だったときの)実行コード
        fi

6.2 サンプル: if .. then による基本的な条件制御の例

        #!/bin/bash
        if [ "foo" = "foo" ]; then
           echo expression evaluated as true
        fi
        

ブレース [ ] 内の条件式が真であった場合、"then" という 文字の後に、実行されるコードが書かれています。そしてその後に、条件制御に基づ いて実行されるコードの終了を指示する "fi" が置かれて います。

6.3 サンプル: "if .. then ... else" を使った基本的な条件制御の例

        #!/bin/bash
        if [ "foo" = "foo" ]; then
           echo expression evaluated as true
        else
           echo expression evaluated as false
        fi
        

6.4 サンプル: 変数を伴った条件制御

        #!/bin/bash
        T1="foo"
        T2="bar"
        if [ "$T1" = "$T2" ]; then
            echo expression evaluated as true
        else
            echo expression evaluated as false
        fi
        

次のページ 前のページ 目次へ