【Linux】シェルスクリプトの複数の条件分岐:case

Linux

どーも!marusukeです!

シェルスクリプトの複数の条件分岐:caseについて説明します!

caseコマンドでできること

 case 値 in
   パターン1)
     コマンド1
     ;;
   パターン2)
     コマンド2
     ;;
   *)
     コマンドデフォルト
     ;;
 esac

case文は、シェルスクリプトで複数の条件を分岐させるために使用する構文です

指定した変数や値が各パターンに一致するかを順番に確認し、一致する場合はそのブロックに記述されたコマンドを実行します

複数の条件を分岐させる場合、if文よりもcase文のほうが見やすく記述できます

caseコマンドの使用例

以下の例では、ユーザーから入力された文字列によって異なるメッセージを表示します

 #!/bin/bash

 echo "入力してください (yes, no, maybe): "
 read answer

 case $answer in
   yes)
     echo "あなたはYesを選択しました。"
     ;;
   no)
     echo "あなたはNoを選択しました。"
     ;;
   maybe)
     echo "あなたはMaybeを選択しました。"
     ;;
   *)
     echo "無効な入力です。"
     ;;
 esac

出力結果:

 入力してください (yes, no, maybe): 
 # ユーザーが「yes」を入力
 あなたはYesを選択しました。

まとめ

case文は、複数の条件分岐を見やすく整理できる構文です。if文と異なり、複数の値に対してシンプルに処理を分岐させる場合に適しています

以上です!

ここまで読んでいただきありがとうございます!

コメント

タイトルとURLをコピーしました