選択メニューを作ってみよう
bashではselect文を使って、選択メニューを作ることができます。
select文の書き方は、以下のようになります。
inの後ろの値が、順番にシェル変数に代入されます。
PS3="プロンプト文字列"
select シェル変数名 in 値1 値2 ...
do
処理
done
メモ
PS3はプロンプト変数と呼ばれる組み込み変数で、select文が使用するプロンプトが含まれています。
PS3は必ず大文字で記述します。
select文を使ったシェルスクリプトは、以下のようになります。
選択メニューとして 1) dog、2) cat、3) mouseを表示して、番号の入力を促します。
break文によってselect文のループ処理から抜けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash PS3="番号を入力してください => " select val in dog cat mouse do case dog) echo "これは犬です" break ;; cat) echo "これは猫です" break ;; mouse) echo "これは鼠です" break ;; *) echo "番号が違います" ;; esac done |
シェルスクリプトを実行すると、選択メニューが表示されます。
プロンプトから選択メニューに表示された番号を入力すると、その番号に対応した処理を行います。
実行例
$ select.sh
1) dog
2) cat
3) mouse
番号を入力してください => 1
これは犬です