如何创建具有一系列选项的菜单?

How to create a menu with a range of options?

我想在 shell 脚本中创建一个包含一系列选项的菜单。在这种情况下,我想强制用户只使用一系列数字,例如1 到 5,但没有用例。如果用户选择 6,菜单会再次询问范围之间的数字。

我记得是这样的:

OPTION (){
    [[ $option = +(1|2|3|4|5) ]] || OPTION
}

你能帮帮我吗? 谢谢!

以下可能对您有帮助:

cat choose2.ksh
check() {
while [ ! ${finished} ]
do
echo "Please enter a digit:"
read value
if [[ $value -le 5 ]]
then
        echo "user entered between 1 to 5."
        finished=1
else
        echo "user entered more than 5 in this case."
fi
done
}

check

执行脚本:

./choose2.ksh
Please enter a digit:
12
user entered more than 5 in this case.
Please enter a digit:
12
user entered more than 5 in this case.
Please enter a digit:
1
user entered between 1 to 5.

所以你可以看到,如果用户输入的不是 1 到 5,它会再次询问用户输入,否则它会简单地从脚本中出来(你也可以根据需要做其他事情)。