09@流程控制之select语句

流程控制之select语句

一、语法

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

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

二、案例(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 C
OK

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 苹果
OK

3、案列(简易跳板机)

#!/bin/bash

PS3='请选择你要登录的服务器: '

select server_name in  web0{1..3}

do
    case $server_name in
    web01)
        ssh root@192.168.15.7
        ;;
    web02)
        ssh root@192.168.15.8
        ;;
    web03)
        ssh root@192.168.15.9
        ;;
    *)
        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 ~]# 





posted @ 2021-06-19 16:10  ଲ小何才露煎煎饺  阅读(80)  评论(0)    收藏  举报