流程控制之select语句

一 语法

select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择

select var in ...
do
	...
	break
done

二 案例

案例1:

[root@m01 ~]./select.sh 
#!/bin/bash
PS3="请输入操作编号>>>:"

select choice in {"退出","取款","转账","查询"}
do
	
	case $choice in
	"退出")
		break
  	    ;;
	"取款")
		echo "正在取款"
		;;
	"转账")
		echo "正在转账"
		;;
	"查询")
		echo "正在查询余额"
		;;
   	*)
		echo "指令有误,请重新输入"
	esac
done

[root@m01 ~]./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变量的值做提示符
echo

select var
do
    echo
    echo "your choose is $var"
    echo "OK"
    echo
    break # 跳出select,否则是死循环
done

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

1) 苹果
2) 梨
3) 蔬菜
4) 香蕉
5) 茄子
choose one: 1

your choose is 苹果
OK
posted @ 2021-06-29 11:06  小绵  阅读(55)  评论(0编辑  收藏  举报