bash プログラミング:select 文

今回は select 文について説明します。


文法は次の通りです。

select name [ in word ] ; do list ; done

次の条件で例文を作成します。

  • プロンプトは「select fruits :
  • 選択肢は「apple」「apgrapeple」「orange」「quit」
  • 「quit」で終了
  • 選択されたら「is selected」
(
PS3="select fruits : ";
select fruits in "apple" "grape" "orange" "quit";
do {
    if [ "${fruits}" = "quit" ];
    then
        break;
    else
        echo "${fruits} is selected.";
    fi;
}; done )

実行結果

$ ( PS3=”select fruits : “; select fruits in “apple” “grape” “orange” “quit”; do { if [ “${fruits}” = “quit” ]; then break; else echo “${fruits} is selected.”; fi; }; done )
1) apple
2) grape
3) orange
4) quit
select fruits : 2
grape is selected.
select fruits : 4
$

解説

  • 選択項目の左側に数字が付与され、その数字を入力することで選択した事になります。
  • select 文を抜けるには「break」を使用します。
  • break 文は、ループや select 文を抜ける為に使用するモノですので、サブシェル内「()」では実行できません。
  • select 文から抜ける為に、グループ内「{}」で実行しています。
  • 数字を入力せずにリターンキーを押すと空文字列になります。
  • プロンプト「PS3」が終了した時に元に戻る様に、全体をサブシェル内「()」で実行しています。

コメントを残す

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