好的,所以我尝试在谷歌搜索这个,我似乎无法找到答案。我试图做的是在bash中创建一个case语句,但是如果用户输入的数字不同于列出的数字,则只退出脚本。如何让它给出错误,然后要求用户选择其中一个选项?
例如,我的案例陈述
case $ans in
1) echo "Running Project 1..."
sleep 2
./project1.sh
;;
2) echo "Running Project 2..."
sleep 2
./project2.sh
;;
Qq) echo "Exiting"
exit
;;
esac
所以除了1,2,Qq以外的任何选项都会出现错误,指出无效选择,请再试一次。
答案 0 :(得分:1)
你需要一个while循环和一个类似的布尔变量:
flag = true
while [ $flag ]; do
case $ans in
1) echo "Running Project 1..."
sleep 2
./project1.sh
;;
2) echo "Running Project 2..."
sleep 2
./project2.sh
;;
Qq) echo "Exiting"
flag = false
;;
esac
done