Linuxシェルセレクトメニュー選択実装コード
あなたがシェルでメニューを実装する必要があると仮定すると、それはあなたがループを使用すると、研究では、シェルの選択は非常にこの対話型のメニューを実現するために便利なことができる発見、相互作用を達成するために読んでいると推定される。
1. セレクト構文
select var in ...
do
#your code
done
2. 例
#! /bin/bash
echo "what is your favorite color :"
select color in "red" "blue" "green" "white" "black"
do
echo "you choose is $color"
break
done
Bash Shellでselectコマンドを使う簡単な例
前置き
今日はたまたま自動パッケージングスクリプトを書いていて、またbashシェルを使ったので、嬉しい気分です。ここでは、selectコマンドを紹介します。
今回は、メニューの選択を助けてくれるコマンド、selectを紹介したいと思います。
形式
私も今日初めてselect処理制御を使いました。selectはphpでもJavaでもCでも実装されていませんが、Bash Shellではselectの書式は以下のようになります。
次のようなものです。
select $var in ${list[@]}
do
statements that can use $var
done
selectが実行されると、リスト配列をもとに選択メニューが与えられ、ユーザーの選択結果が変数$varに保存され、その後、ステートメントが実行されます。実行完了
実行が完了すると、再びメニューが表示され、ユーザーに選択肢が与えられます。もしユーザーが選択ループから飛び出したい場合は、条件に応じてループ本体にbreak文を追加する必要があります。
例
selectの例を挙げると、以下のようになります。
#! /bin/bash
fruits=(
"apple"
"pear"
"orange"
"watermelon"
)
echo "Please guess which fruit I like :"
select var in ${fruits[@]}
do
if [ $var = "apple" ]; then
echo "Congratulations, you are my good firend!"
break
else
echo "Try again!"
fi
done
例2
#! /bin/sh
select ch in "begin" "end" "exit"
do
case $ch in
"begin")
echo "start something"
;;
"end")
echo "stop something"
;;
"exit")
echo "exit"
break;
;;
*)
echo "ignorant"
;;
esac
done;
ランニングの効果
yuxuecheng@linux:~/shellSource> . /select_test.sh
1) 開始
2) 終了
3) 終了
#? 1
始める
#? 2
止める
#? 4
無知
#? begin
無知
#? 3
出口
注:selectは循環選択で、通常case文と一緒に使われます。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
bash:/root/.bashrc:Permission deniedを解決する。
-
データベーステーブルのインクリメンタル同期処理を実装するシェルスクリプト
-
シェルスクリプトでバッチファイルを簡単に作成・変更する方法
-
linux いくつかの無駄な、しかし面白いコマンド(コレクション)
-
teeコマンドでシェルスクリプトのパイプラインをデバッグする方法
-
[解決済み】Bash スクリプトと /bin/bash^M: bad interpreter: そのようなファイルまたはディレクトリがない [重複] [重複
-
整数計算のためのShell exprコマンドの実装
-
詳細な手順でフォーマットされたディスクを素早く作成するシェルスクリプト
-
ディスク監視システム導入のためのシェルスクリプト
-
Linuxシェルで複数ファイルを圧縮するコード例