Linux shell select菜單選擇實現(xiàn)代碼
假設(shè)需要在shell下實現(xiàn)一個菜單,估計會使用 循環(huán)和read實現(xiàn)交互,在學(xué)習(xí)中發(fā)現(xiàn)一個select可在shell下很方便的實現(xiàn)這種交互菜單
1. select 語法
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 shell,好幸福的感覺。這里主要是想介紹一下select命令,這個命令
可以幫助我們完成菜單選擇功能。
格式
我今天也是第一次使用select流程控制,在php、Java、C這些語言中并沒有實現(xiàn)select功能。Bash Shell中,select格式如
下:
select $var in ${list[@]} do statements that can use $var done
在select執(zhí)行時,會根據(jù)list數(shù)組給出選擇菜單,用戶選擇后的結(jié)果保存在$var變量中,然后執(zhí)行statements語句。執(zhí)行完成
后,再次給出菜單,等待用戶選擇。如果用戶想跳出選擇循環(huán),需要在循環(huán)體中根據(jù)條件增加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) begin
2) end
3) exit
#? 1
start something
#? 2
stop something
#? 4
ignorant
#? begin
ignorant
#? 3
exit
說明:select是循環(huán)選擇,一般與case語句使用。
相關(guān)文章
Shell腳本之文件批量創(chuàng)建與修改的簡單方法
有時需要將文件內(nèi)容進行修改,如果文件數(shù)量不多可以一個一個修改,那么如果文件數(shù)量很多一個一個修改很麻煩,這篇文章主要給大家介紹了關(guān)于Shell腳本之文件批量創(chuàng)建與修改的相關(guān)資料,需要的朋友可以參考下2021-06-06Shell腳本一鍵安裝Nginx服務(wù)自定義Nginx版本
這篇文章主要為大家介紹了Shell腳本一鍵安裝Nginx服務(wù),用戶可自定義Nginx版本的腳本示例,有需要的朋友可以借鑒參考下,希望能夠參考下2022-03-03scp 將數(shù)據(jù)從一臺linux服務(wù)器復(fù)制到另一臺linux服務(wù)器
這篇文章主要介紹了scp 將數(shù)據(jù)從一臺linux服務(wù)器復(fù)制到另一臺linux服務(wù)器,需要的朋友可以參考下2017-09-09Shell腳本實現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具
這篇文章主要介紹了Shell腳本實現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具,本文直接給出實現(xiàn)腳本代碼,需要的朋友可以參考下2015-06-06putty實現(xiàn)自動登錄的方法(ssh和ssh2)
這篇文章主要介紹putty實現(xiàn)自動登錄的方法,需要的朋友可以參考下2013-02-02Linux shell數(shù)組循環(huán)的實例詳解
這篇文章主要介紹了Linux shell數(shù)組循環(huán)的實例詳解的相關(guān)資料,這里舉例說明如何實現(xiàn)shell數(shù)組循環(huán),需要的朋友可以參考下2017-08-08