如何在 Shell 脚本中创建菜单选项 ?

Bash Select 用于从列表中创建一个带编号的菜单,这对于需要用户跨多个项目选择的 shell 脚本很有帮助。
Syntax
select 语句的语法与 for loop 类似:
select ITEM in [List]
do
[commands]
done
这里的 List 可以是一个数组,一段数字,一系列由空格分隔的字符串,命令的输出,等等。
Bash Select Example
让我们通过一个示例来理解 select 结构,这里我们创建了一个名为 brand.sh 的 bash 脚本。
#!/bin/bash
select brand in Apple Google Microsoft Amazon Meta
do
echo "You have chosen $brand"
done
使用 bash brand.sh 运行脚本,输出如下:
1) Apple
2) Google
3) Microsoft
4) Amazon
5) Meta
#? 1
You have chosen Apple
#? 3
You have chosen Microsoft
#? ^C
按 CTRL+C 退出。
One More Example
让我们看另一个 select 构造的例子,看看它是如何与 case 语句一起工作的。
这里我们将创建一个名为 select.sh 文件,运行文件,用户选择条目,然后 case 语句将用 case 值匹配条目。如果没有值则将打印 “Invalid entry”。
#!/bin/bash
echo "Which Operating System do you like?"
select os in Ubuntu LinuxMint Windows8 Windows7 WindowsXP
do
case $os in
"Ubuntu" | "LinuxMint")
echo "I also use $os"
;;
"Windows8" | "Windows10" | "WindowsXP")
echo "Why don't you try Linux?"
;;
*)
echo "Invalid entry"
break
;;
esac
done
现在使用 bash select.sh 运行脚本,您将看到以下输出:
1) Ubuntu 3) Fedora 5) Windows7
2) LinuxMint 4) Windows8 6) WindowsXP
#? 1
I also use Ubuntu
#? 2
I also use LinuxMint
#? 4
Why don't you try Linux?
#? 7
Invalid entry
我的开源项目
评论已关闭
