LoginSignup
7
2

目的

  • ShellScript bashにおけるcase文の書き方をまとめる

書き方の例

  • 下記に変数に特定の値や文字列が入っているときに特定の処理を行うcase文を記載する。

  • 変数には任意の値が格納されているものとする。

    #!/bin/bash
    
    case ${変数A} in
      "文字列B")
        変数Aに文字列Bが格納されている時に行いたい処理;;
      "文字列C")
        変数Aに文字列Cが格納されている時に行いたい処理;;
      "文字列D")
        変数Aに文字列Dが格納されている時に行いたい処理;;
      *)
        変数Aに文字列B、文字列C、文字列D以外のものが格納されている時に行いたい処理;;
    esac
    

より具体的な書き方の例

  • 変数numberに格納された文字列によって異なる内容を出力する処理を記載する。

  • 変数numberには任意の二桁の数字の文字列が格納されているものとする。

  • 変数numberに00が格納されている時、「変数numberに00が格納されている時の処理を実行します。」と出力する。

  • 変数numberに20が格納されている時、「変数numberに20が格納されている時の処理を実行します。」と出力する。

  • 変数numberに30が格納されている時、「変数numberに30が格納されている時の処理を実行します。」と出力する。

  • 変数numberに10、20、30いずれも格納されていない時、「変数numberには00、20、30いずれも格納されていません。」と出力する。

  • 前述の条件を満たしたcase文を下記に記載する。

    #!/bin/bash
    
    case ${number} in
      "00")
        echo "変数numberに00が格納されている時の処理を実行します。";;
      "20")
        echo "変数numberに00が格納されている時の処理を実行します。";;
      "30")
        echo "変数numberに00が格納されている時の処理を実行します。";;
      *)
        echo "変数numberには00、20、30いずれも格納されていません。"
    esac
    
7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2