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 ディレクトリを選択してください関連記事の目次
- bashのシェルスクリプト実行方法
- bashのシェルスクリプト プログラミング方法メモ
- bashのパイプの使い方
- bashのlist、サブシェル、コマンドブロック
- bashでの式の評価と算術演算
- bashでパターンマッチを使って条件評価
- bashのfor文で配列やセパレータ付き文字列から各要素を取り出す
- bashのfor文を使ってディレクトリ内のファイル一覧とディレクトリ一覧を出力
- bashのselect制御構造
- bashのパターンマッチ演算子の使い方
- ファイルの中身を一行ずつ読んで文字列を置換するbashスクリプト
- ディスク使用量が多いディレクトリを抽出するbashスクリプト
- ディレクトリ内の複数のファイルに対しファイル内の文字列を置換するbashスクリプト
- Bashスクリプトでmysqldumpバックアップと世代管理
- Dos攻撃など大量アクセスのログを検知するBashスクリプトを作成