逆引きシェルスクリプト/case…esacのサンプルシェルスクリプト
の編集
Top
/
逆引きシェルスクリプト
/
case…esacのサンプルシェルスクリプト
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * case…esacのサンプルシェルスクリプト [#f3f8b517] いろんな言語にあるswitchやSelect Caseなどの分岐条件記述がありますね。~ 今回はシェルスクリプト(bash使用)でcase…esacのサンプルスクリプトのサンプルコードを記します。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) *関連記事 [#ad384720] -[[if文のサンプルシェルスクリプト・数値比較編>逆引きシェルスクリプト/if文のサンプルシェルスクリプト・数値比較編]] -[[if文のサンプルシェルスクリプト・ファイル・ディレクトリ編>逆引きシェルスクリプト/if文のサンプル・ファイル・ディレクトリ編]] -[[if文の条件式でand, or, notを使う方法>逆引きシェルスクリプト/if文の条件式でand, or, notを使う方法]] * case...esac [#j1539c4c] シェルスクリプトでは分岐条件記述のcase...esacは以下のような記述になります。~ (すでにお気づきかもしれませんがesacはcaseを逆にした記述ですね。) case 値 in パターン) 処理;; パターン) 処理;; パターン) 処理;; esac 以下にいくつかの例を記します。 * case...esacのサンプルスクリプトコード [#q5c6a1c9] #ref(case-sample.sh) #!/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サンプルシェルスクリプトの実行例 [#kfee7724] 上記のサンプルシェルスクリプトを動作させた例です。 -引数なしで呼び出したためUsageが sakura@ubuntu:~$ ./case-sample.sh Usage: case-sample.sh <numeric values 1-9> Please enter numeric values 1-9. -以下数値を引数として渡した時の出力です。 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のサンプルシェルスクリプトでした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * case…esacのサンプルシェルスクリプト [#f3f8b517] いろんな言語にあるswitchやSelect Caseなどの分岐条件記述がありますね。~ 今回はシェルスクリプト(bash使用)でcase…esacのサンプルスクリプトのサンプルコードを記します。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) *関連記事 [#ad384720] -[[if文のサンプルシェルスクリプト・数値比較編>逆引きシェルスクリプト/if文のサンプルシェルスクリプト・数値比較編]] -[[if文のサンプルシェルスクリプト・ファイル・ディレクトリ編>逆引きシェルスクリプト/if文のサンプル・ファイル・ディレクトリ編]] -[[if文の条件式でand, or, notを使う方法>逆引きシェルスクリプト/if文の条件式でand, or, notを使う方法]] * case...esac [#j1539c4c] シェルスクリプトでは分岐条件記述のcase...esacは以下のような記述になります。~ (すでにお気づきかもしれませんがesacはcaseを逆にした記述ですね。) case 値 in パターン) 処理;; パターン) 処理;; パターン) 処理;; esac 以下にいくつかの例を記します。 * case...esacのサンプルスクリプトコード [#q5c6a1c9] #ref(case-sample.sh) #!/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サンプルシェルスクリプトの実行例 [#kfee7724] 上記のサンプルシェルスクリプトを動作させた例です。 -引数なしで呼び出したためUsageが sakura@ubuntu:~$ ./case-sample.sh Usage: case-sample.sh <numeric values 1-9> Please enter numeric values 1-9. -以下数値を引数として渡した時の出力です。 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のサンプルシェルスクリプトでした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する
添付ファイル:
case-sample.sh
458件
[
詳細
]