admin 发表于 2022-10-31 07:20:44

select用法

在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

页: [1]
查看完整版本: select用法