我试图找出一个运行while循环读取输入的最佳方法,输入只能是Y或N(大写或小写),如果输入了其他内容(y或n除外)然后再次运行循环....如果它的空白....再次运行循环下面是我想出的,但我不是那不是最好的解决方案,似乎没有工作......
read ANS
while [[ $ANS = "" ]]; do
echo "This Cannot be Blank, Please enter answer again"
read ANS
done
while :
do
echo "Enter Y for yes, N for no"
read system
case "${system}" in
[yY]) export ANS=YES ;;
[pP]) export ANS=NO ;;
esac
done
答案 0 :(得分:1)
while :;do
read -p "Enter Y for yes, N for no: " request;
if [[ $request == [YynN] ]];then
break;
fi;
done