Shell select in循环

Shell select in循环教程

Shell 中的 select in 循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。

select in 是 Shell 独有的一种循环,非常适合终端(Terminal)这样的交互场景,C 语言C++JavaPython、C# 等其它编程语言中是没有的。

注意,select 是无限循环(死循环),输入空值,或者输入的值无效,都不会结束循环,只有遇到 break 语句,或者按下 Ctrl+D 组合键才能结束循环。

Shell select in循环详解

语法

select variable in value_list do statements done

参数

参数 描述
variable 变量。
value_list 取值列表。
statements 执行的语句。

说明

variable 表示变量,value_list 表示取值列表,in 是 Shell 中的关键字。select in 和 for in 的语法很相似。

案例

select in语句

使用 select in 循环

#!/bin/bash echo "What is your favourite Color?" select color in "Red" "Blue" "Yellow" "Gray" "White" do echo $color done echo "You have selected $color"

程序运行后,控制台输出如下:

38_Shell select in循环.png

我们看到,此时,在等待我们输入,只需要输入前面的数字即可,我们输入 3,此时如下图所示:

39_Shell select in循环.png

我们看到,输出了我们选择的数字对应的中文,现在,我们再次输入 2,此时如下图所示:

40_Shell select in循环.png

现在,我们按下 Ctrl+d 结束输入,此时如下图所示:

41_Shell select in循环.png

我们看到,提示我们选择了什么颜色。

Shell select in循环总结

Shell 中的 select in 循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。

注意,select 是无限循环(死循环),输入空值,或者输入的值无效,都不会结束循环,只有遇到 break 语句,或者按下 Ctrl+D 组合键才能结束循环。