case…esacのサンプルシェルスクリプト †いろんな言語にあるswitchやSelect Caseなどの分岐条件記述がありますね。 関連記事 †case...esac †シェルスクリプトでは分岐条件記述のcase...esacは以下のような記述になります。 case 値 in パターン) 処理;; パターン) 処理;; パターン) 処理;; esac 以下にいくつかの例を記します。 case...esacのサンプルスクリプトコード †#!/bin/bash function usage { echo -e "Usage:\t"`basename $0`" <numeric values 1-9>" echo -e "\tPlease enter numeric values 1-9." exit 1 } if [ $# -ne 1 ]; then usage fi case $1 in 1) echo "[INFO] enter numric value is 1";; [23]) echo "[INFO] enter numric value is 2 or 3";; [4-9]) echo "[INFO] enter numric value is [4-9]";; 10) echo "[INFO] enter numric value is 10";; *) echo "[ERR] invalid value";; esac 上記の例では[]の正規表現を使って数値の範囲をパターンの部分に指定しています。 case...esacサンプルシェルスクリプトの実行例 †上記のサンプルシェルスクリプトを動作させた例です。
sakura@ubuntu:~$ ./case-sample.sh 1 [INFO] enter numric value is 1 sakura@ubuntu:~$ ./case-sample.sh 2 [INFO] enter numric value is 2 or 3 sakura@ubuntu:~$ ./case-sample.sh 8 [INFO] enter numric value is [4-9]
sakura@ubuntu:~$ ./case-sample.sh z [ERR] invalid value 以上、case...esacのサンプルシェルスクリプトでした。 |