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
ディレクトリを選択してください

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です