优秀的编程知识分享平台

网站首页 > 技术文章 正文

Centos中shell利用select模拟菜单选择,比较实用的一个命令

nanyue 2024-09-05 18:18:16 技术文章 8 ℃

Linux的shell中利用select实现菜单选择

select循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输入。用户输入菜单列表中的某个数字,执行相应的命令。

select是个"无限循环",因此要用break命令退出循环,或用exit 命令终止脚本。

select 经常和case 联合使用。

补充:

case和select结构在技术上说并不是循环, 因为它们并不对可执行代码块进行迭代。

但是和循环相似的是,它们也依靠在代码块顶部或底部的条件判断来决定程序的分支。

格式:

select variable [in list]

do

TT class="REPLACEABLE" >command...

break

done

案例1:

提示用户输入选择的内容,放在变量列表中。

注意:select命令使用PS3提示符

#!/bin/bash

#select 案例

#auth:odysee

#设置提示符字串

PS3="请选择您喜欢的生物:"

echo "=========================="

select thing in "cat" "dog" "girl"

do

echo

echo "您喜欢的生物是:${thing}"

echo "bye!"

echo "=========================="

#如果这里没有break将不停循环进行选择

break

done

执行脚本

案例2:

利用select和case模拟菜单

#!/bin/bash

#利用select和case模拟实现一个菜单

#auth:odysee

PS3="请输入选项:"

select number in "install" "uninstall" "update" "exit"

do

case $number in

"install")

echo "installing...";;

"uninstall")

echo "uninstalling...";;

"update")

echo "updating...";;

"exit")

break;;

*)

echo "no selection!!!"

esac

done

clear

执行脚本

测试完成

关于案例1有一个弊端,就是输入非指定数字未做判断。

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

最近发表
标签列表