佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Linux shell select菜單選擇實現(xiàn)代碼

Linux shell select菜單選擇實現(xiàn)代碼

熱門標簽:Linux服務器 呼叫中心市場需求 AI電銷 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 服務外包 百度競價排名

假設需要在shell下實現(xiàn)一個菜單,估計會使用 循環(huán)和read實現(xiàn)交互,在學習中發(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ù)組給出選擇菜單,用戶選擇后的結果保存在$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語句使用。

標簽:崇左 湖南 仙桃 銅川 黃山 衡水 湘潭 蘭州

巨人網(wǎng)絡通訊聲明:本文標題《Linux shell select菜單選擇實現(xiàn)代碼》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    周宁县| 旅游| 体育| 通许县| 临桂县| 汝阳县| 邵阳县| 长兴县| 福安市| 城固县| 宁化县| 沾益县| 贞丰县| 合川市| 唐山市| 广南县| 都昌县| 衡水市| 阿荣旗| 新化县| 响水县| 巨鹿县| 璧山县| 汝南县| 合作市| 武强县| 庐江县| 大冶市| 金寨县| 开封市| 崇礼县| 三江| 新巴尔虎右旗| 新竹市| 南通市| 扬中市| 溧阳市| 潞西市| 阿瓦提县| 陆良县| 鹤岗市|