Shell中select循环语句实例

select循环语句实例

Bash提供select循环,语法如下:

select VAR in LIST

do

​ command1

​ command2

​ ...

​ commandN

done

select循环语句由如下特点:

  1. select语句使用Bash内部变量PS3的值作为它的提示符信息。

  2. 打印到屏幕上的列表LIST中的每一项都会加上一个数字编号。

  3. 当用户输入的数字和某一个数字编号一致时,列表中响应的项即被赋予变量VAR。

  4. 如果用户输入为空,将重新显示列表LIST中的项和提示符信息。

  5. 可以通过添加一个退出选项,或者Ctrl+C、Ctrl+D组合键退出select循环。

如:


[root@rs1 test]# cat select.sh 
#!/bin/bash

PS3="Run command:"
clear
select choice in date w hostname "uname -r" Exit
do
case $choice in
    date)
    $choice
    ;;
    w)
    $choice
    ;;
    "uname -r")
    $choice 
    ;;  
    hostname)
    $choice
    ;;
    Exit)
    echo "Bye!"
    exit 0
    ;;
esac
done

执行结果:


[root@rs1 test]# bash select.sh 
//清理屏幕
1) date
2) w
3) hostname
4) uname -r
5) Exit
Run command:1
Fri Jul  6 04:01:01 CST 2018
Run command:2
 04:01:02 up  9:25,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     03:03    6.00s  0.04s  0.00s w
root     pts/1     03:03   57:10   0.00s  0.00s -bash
Run command:3
rs1
Run command:4
3.10.0-123.el7.x86_64
Run command:5
Bye!

上述shell脚本也可以如此编写:(运行结果无差别)

[root@rs1 test]# cat select_1.sh 
#!/bin/bash

PS3="Run command:"
clear

select choice in date w hostname "uname -r" "exit"
do
    $choice
done


你可能感兴趣的:(shell)