VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

bashのselect制御構造

bashのselect制御構造についてmanで確認しました。

●構文
 
select name [ in word ] ; do list ; done
 
①”word”を構成するリストの各要素が展開され、各項目に番号を振ってメニューのように表示する。
②環境変数PS3に設定された文字列がコマンドプロンプトとして出力され、ユーザーに標準入力からメニューの番号を入力するように促す。
③”name”に選択結果がセットされ、組込み変数REPLYに選択番号を設定する
④”list”で処理を実行。
⑤EOFが入力されるとコマンドが終了。
 
例)

PS3='ディレクトリを選択してください'
select name in "/usr" "/var" "/etc" ; do
  ls $name
done

 
実行結果)

$ sh select.sh
1) /usr
2) /var
3) /etc
ディレクトリを選択してください2
cache  empty  gdm  local  log   nis  preserve  run    tmp  yp
db     games  lib  lock   mail  opt  qmail     spool  www
ディレクトリを選択してください
モバイルバージョンを終了