文章目录
流程控制之select语句
一、语法
select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择
select var in ...
do
...
break
二、案例(select的用法)
1、案例:
[root@egon /]# cat select.sh
#!/bin/bash
PS3='choose one: ' #select默认使用PS3变量的值做提示符
echo
select var in {A..D}
do
echo
echo "your choose is $var"
echo "OK"
echo
break # 跳出select,否则是死循环
done
[root@egon /]#
[root@egon /]# ./select.sh
1) A
2) B
3) C
4) D
choose one: 3
your choose is
2、案例:select省略in使用
若省略 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
3、案列(简易跳板机)
#!/bin/bash
PS3='请选择你要登录的服务器: '
select server_name in web0{1..3}
do
case $server_name in
web01)
ssh [email protected]
;;
web02)
ssh [email protected]
;;
web03)
ssh [email protected]
;;
*)
echo "暂未添加,请重新选择"
exit
;;
esac
done
[root@localhost opt]# sh hzl.sh
1) web01
2) web02
3) web03
请选择你要登录的服务器: 1 #选择你需要登录的服务器
Last login: Sat Jun 19 09:56:51 2021 from 192.168.15.7
[root@web01 ~]#