运维联盟俱乐部

 找回密码
 立即注册
查看: 2056|回复: 0

select用法

[复制链接]
  • TA的每日心情
    开心
    2023-8-9 11:05
  • 发表于 2022-10-31 07:20:44 来自手机 | 显示全部楼层 |阅读模式
    在Shell脚本中,select命令是一种菜单扩展的循环方式。

    语法结构如下:

    select Menu in (list)

    do

    command

    done

    说明:当程序运行到select语句时,会自动将列表中的所有元素生成为可用1、2、3依次类推的选择列表,并等待用户输入。当用户

    输入值并回车后,select可根据用户输入的值判断并执行后续的命令。

    当然如果用户不做输入,直接回车的话,select将不会退出而是再次生成列等待输入。

    技巧:通常情况下select命令经常和case语句一起使用。

    示例如下:

    #!/bin/bash

    select Day in Mon Tue Wed Thu Fri Sat Sun

    do

    case $Day in

    Mon) echo "Today is Monday";;

    Tue) echo "Today is Tuesday";;

    Wed) echo "Today is Wednesday";;

    Thu) echo "Today is Thursday";;

    Fri) echo "Today is Friday";;

    Sat|Sum) echo "Today is a rest day";;

    *) echo "Error inout,exit now " && break;;

    easc

    done

    demo2:

    #! /bin/bash
    array=(ywx kaka king)
    select name in "${array[@]}"
    do
      echo $name
    done

    demo3

    #! /bin/bash
    PS3="please select a num from menu:"     #<== PS3就是控制select循环的提示符,
    select filename in $(ls /tmp)
    do
        echo -e "I guess you selected the menu is:
    $REPLY) $filename"  #<==REPLY变量就是菜单项对应的数字。
    done

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    运维联盟俱乐部 ( 冀ICP备19036648号 )

    GMT+8, 2024-5-7 02:41 , Processed in 0.046527 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表