如何创建具有一系列选项的菜单?
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,它会再次询问用户输入,否则它会简单地从脚本中出来(你也可以根据需要做其他事情)。
我想在 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,它会再次询问用户输入,否则它会简单地从脚本中出来(你也可以根据需要做其他事情)。