シェルスクリプトでは、条件分岐を行うためにif文がよく使用されますが、複数の条件を扱う場合や選択肢が多い場合にはcase文が便利です。
ここでは、case文の基本的な使い方とサンプルスクリプトを紹介します。
シェルスクリプトのcase文は、特定の変数や値に基づいて複数の条件に分岐させるための構文です。case文の基本的な構文は以下の通りです。
case 値 in
パターン1)
コマンド1
;;
パターン2)
コマンド2
;;
*)
デフォルトコマンド
;;
esac
以下に、case 文を用いたシンプルなシェルスクリプトの例を示します。
echo "あなたの好きな曜日を入力してください (例: 月曜日, 火曜日, 水曜日):"
read 曜日
case $曜日 in
月曜日)
echo "今日は仕事始めです。"
;;
火曜日)
echo "今日は火曜日です。"
;;
水曜日)
echo "今日は水曜日です。"
;;
木曜日)
echo "今日は木曜日です。"
;;
金曜日)
echo "今日は金曜日です。週末が近いです!"
;;
土曜日|日曜日)
echo "今日は週末です。リラックスしてください!"
;;
*)
echo "入力された曜日は無効です。"
;;
esac
case文は、複数の条件に基づく分岐を簡潔に記述できる強力なツールです。
case文を使用することで、コードの可読性が向上し、条件ごとの処理を整理しやすくなります。シェルスクリプトの条件分岐を効率的に行うために、ぜひ case文を活用してみてください。
また、他に条件分岐を行う方法として、以下にif文を使う方法もまとめていますので、必要に応じ参考にしてみてください。