流程控制 select

2022-01-10 00:16:23 字數 1877 閱讀 7742

select表示式是bash的一種擴充套件應用,擅長於"互動式場合"。使用者可以從一組不同的值中進行選擇

select可以實現選單的功能;

select可以與case結合使用;

ps3=""	

select var in 列表

do 使用者選擇後,要執行的命令

break

done

#ps3與使用者互動,預設為 #?,select預設使用ps3與使用者互動,定義變數,傳遞給select var

#select負責列印選單,序號) $var

#in可以省略,使用位置引數

案例1:

[root@egon /]# cat select.sh 

#!/bin/bash

ps3='choose one: '

select var in #選單

do echo "your choose is $var"

echo "ok"

break # 跳出select,否則是死迴圈,可以省略

done

[root@egon /]# ./select.sh

1) a

2) b

3) c

4) d

choose one: 3

your choose is c

ok

案例2:若省略 in list 則select會把 $@ 當做列表項

[root@egon /]# cat select.sh 

#!/bin/bash

ps3='choose one: ' # select預設使用ps3變數的值做提示符

select var

do echo "your choose is $var"

echo "ok"

break # 跳出select,否則是死迴圈

done

[root@egon /]# ./select.sh 蘋果 梨 蔬菜 香蕉 茄子

1) 蘋果

2) 梨

3) 蔬菜

4) 香蕉

5) 茄子

choose one: 1

your choose is 蘋果

ok

案例3:select與case

ps3="please select a number: "

select name in zhangsan lisi wangwu zhaoliu

do case $name in

zhangsan)

echo "hello, zhangsan."

;;lisi)

echo "hello,lisi."

;;wangwu)

echo "hello, wangwu."

;;zhaoliu)

echo "hello, zhaoliu."

;;*)

echo "sorry, there is no such person."

;;esac

done

[root@hass-11 script]# sh se2.sh

1) zhangsan

2) lisi

3) wangwu

4) zhaoliu

please select a number: 2

hello,lisi.

please select a number: 3

hello, wangwu.

please select a number:

shell 流程控制之select語句

語法 一 語法 select表示式是bash的一種擴充套件應用,擅長於互動式場合。使用者可以從一組不同的值中進行選擇 select var in do break done 案例 bin bash ps3 choose one select預設使用ps3變數的值做提示符 echo select va...

mysql流程控制 MySQL 流程控制

流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...