case文を作ってみよう
case文は条件となる文字列を参照して、処理を分岐します。
分岐のパターンが多い場合は、if文よりすっきり書くことができます。
case文の書き方は、以下のようになります。
パターンの最後に;(セミコロン)を2つ付けることに気を付けてください。
case 文字列 in
パターン1)
処理1
;;
パターンn)
処理n
;;
esac
case文を使ったシェルスクリプトは、以下のようになります。
引数に「yes」または「no」を渡して、それに対応したパターンのメッセージを表示します。
それ以外では「yesかnoを入力してください」を表示します。
*(アスタリスク)は全てのパターンが当てはあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash case $1 in yes) echo "はい" ;; no) echo "いいえ" ;; *) echo "yesかnoを入力してください" ;; esac |
実行例
$ ./case.sh yes
はい