我正在尝试编写用户交互式脚本。我是通过让用户键入标志的值来实现的。我的第一个案例陈述工作正常但第二个案件不会,我不明白为什么?在这段代码的最后两行中,我想看到我的变量的值,但我只能看到第一个语句中的赋值,而第二个case语句没有给我任何值。我的代码中有更多的case语句,但第一个是唯一有效的。我需要在两种陈述之间做些什么吗?
echo "`tput bold`What machine was used?`tput sgr0`"
select Machine in "M1" "M2" "M3" "M4" "M5" "quit"
do
case $Machine in
M1) version=10;;
M2|M5) version=15;;
M4|M3) version=27;;
quit) exit;;
*) echo -e '\033[5;31;40mERROR: \033[0m\033[31;40mWrong option.\033[0m';;
esac
break
done
echo "`tput bold`Do you want to run default settings`tput sgr0`"
select settings in "yes" "no" "quit"
do
case $settings in
yes) run=1;;
no) run=0;;
quit) exit;;
*) echo -e '\033[5;31;40mERROR: \033[0m\033[31;40mWrong option.\033[0m';;
esac
break
done
echo "Version: $version"
echo "Default settings: $run"
答案 0 :(得分:1)
这应该可以正常工作。如果你为每个选项按1,你会得到
Version: 10
Default settings: 1
您是否习惯性地按y
代替1
来回答“是”?