Bash Shell 流程控制 —— select

前言

今天刚好写了一个自己主动化打包脚本。再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令。这个命令能够帮助我们完毕菜单选择功能。


格式

我今天也是第一次使用select流程控制,在php、Java、C这些语言中并没有实现select功能。Bash Shell中,select格式例如以下:
select $var in ${list[@]}
do
    statements that can use $var
done
在select运行时,会依据list数组给出选择菜单,用户选择后的结果保存在$var变量中,然后运行statements语句。

运行完毕后,再次给出菜单,等待用户选择。

假设用户想跳出选择循环,须要在循环体中依据条件添加break语句。


演示样例

给出一个select的演示样例,大家能够參考:
#!/bin/bash

fruits=(
    "apple"
    "pear"
    "orange"
    "watermelon"
)

echo "Please guess which fruit I like :"
select var in ${fruits[@]}
do
    if [ $var = "apple" ]; then
        echo "Congratulations, you are my good firend!"
        break
    else
        echo "Try again!"
    fi
done



原文地址:https://www.cnblogs.com/wgwyanfs/p/6752293.html