標籤:dir desc date auth shell 基礎 編程 intro 沒有
本文屬於《Linux Shell 系列教程》文章系列,該系列共包括以下 18 部分:
- Linux Shell系列教程之(一)Shell簡介
- Linux Shell系列教程之(二)第一個Shell指令碼
- Linux Shell系列教程之(三)Shell變數
- Linux Shell系列教程之(四)Shell注釋
- Linux Shell系列教程之(五)Shell字串
- Linux Shell系列教程之(六)Shell數組
- Linux Shell系列教程之(七)Shell輸出
- Linux Shell系列教程之(八)Shell printf命令詳解
- Linux Shell系列教程之(九)Shell判斷 if else 用法
- Linux Shell系列教程之(十)Shell for迴圈
- Linux Shell系列教程之(十一)Shell while迴圈
- Linux Shell系列教程之(十二)Shell until迴圈
- Linux Shell系列教程之(十三)Shell分支語句case … esac教程
- Linux Shell系列教程之(十四) Shell Select教程
- Linux Shell系列教程之(十五) Shell函數簡介
- Linux Shell系列教程之(十六) Shell輸入輸出重新導向
- Linux Shell系列教程之(十七) Shell檔案包含
- Linux Shell 系列教程目錄
系列詳情請看:《Linux Shell 系列教程》:
Linux Shell 系列教程,歡迎加入Linux技術交流群:479935456
原文:https://www.linuxdaxue.com/linux-shell-select-command.html
Select 搭配 case來使用,可以完成很多複雜的菜單控制選項。
select和其他流量控制不一樣,在C這類程式設計語言中並沒有類似的語句,今天就為大家介紹下Shell Select語句的用法。
一、Shell Select語句文法
Shell中Select語句的文法如下所示:
select name [in list ] do statements that can use $name... done
說明:select首先會產生list列表中的菜單選項,然後執行下方do…done之間的語句。使用者選擇的功能表項目會儲存在$name變數中。
另外:select命令使用PS3提示符,預設為(#?);
在Select使用中,可以搭配PS3=’string’來設定提示字串。
二、Shell Select語句的例子
還是老樣子,通過樣本來學習Shell select的用法:
#!/bin/bash #Author:linuxdaxue.com#Date:2016-05-30#Desc:Shell select 練習PS3=‘Please choose your number: ‘ # 設定提示符字串. echoselect number in "one" "two" "three" "four" "five" do echo echo "Your choose is $number." echo break done exit 0
說明:上面例子給使用者呈現了一個菜單讓使用者選擇,然後將使用者選擇的功能表項目顯示出來。
這是一個最基本的例子,主要為大家展示了select的基礎用法。當然,你也可以將break去掉,讓程式一直迴圈下去。
下面是去掉break後輸出:
$./select.sh1) one2) two3) three4) four5) fivePlease choose your number: 1Your choose is one.Please choose your number: 2Your choose is two.Please choose your number: 3Your choose is three.Please choose your number: 4Your choose is four.Please choose your number: 5Your choose is five.
然後我們將例子稍稍修改下,加入case…esac語句:
#!/bin/bash #Author:linuxdaxue.com#Date:2016-05-30#Desc:Shell select case 練習PS3=‘Please choose your number: ‘ # 設定提示符字串. echoselect number in "one" "two" "three" "four" "five" docase $number inone )echo Hello one!;;two )echo Hello two!;;* )echo echo "Your choose is $number." echo;;esac#break done exit 0
這樣的話,case會對使用者的每一個選項進行處理,然後執行相應的語句。輸出如下:
$./select2.sh1) one2) two3) three4) four5) fivePlease choose your number: 1Hello one!Please choose your number: 2Hello two!Please choose your number: 3Your choose is three.Please choose your number: 4Your choose is four.
將這些語句進行修改拓展,就可以寫出非常複雜的指令碼。怎麼樣,是不是非常強大呢,趕快試試吧!
更多Linux Shell教程請看:Linux Shell系列教程
(轉)Linux Shell系列教程之(十四) Shell Select教程