case 文を使用する - Linux シェルスクリプト プログラミング
PROGRAM
case 文を使用する
Linux シェルスクリプト (sh) では、変数の値に応じで処理をいくつかに分岐する case 文が利用できるようになっています。
たとえば、変数 VALUE の値が "Apple" か "Mikan" かそれ以外かといった場合、次のような書き方になります。
case "$VALUE" in
"Apple")
# ここに VALUE の値が "Apple" だった場合の処理を記載します。
;;
"Mikan")
# ここに VALUE の値が "Mikan" だった場合の処理を記載します。
;;
*)
# ここに VALUE の値が、上記以外だった場合の処理を記載します。
;;
esac
このように、"case" と "esac" でブロックを括り、その中に、値ごとの処理を記載します。各処理の末行には ";;" を記載するのを忘れないようにします。
なお、case 文の条件には "*" や "?" といったワイルドカードを使った値も指定でき、たとえば "Ehime Mikan" や "Unsyuu Mikan" のどちらの場合にも処理したい場合には、条件としては次のように記載します。
*"Mikan")
上記では "*" という任意の文字列(何文字でも可)を意味するワイルドカードで指定していますけど、もし文字数を限定したい場合には、任意の 1 文字を意味する "?" というワイルドカードを使うこともできます。
たとえば、A から始まる 5 文字の単語というような場合は、次のような条件になります。
"A"????)
[ もどる ]