while循环shell脚本中允许的值

时间:2015-11-13 05:06:02

标签: bash shell sh

我试图找出一个运行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

1 个答案:

答案 0 :(得分:1)

 while :;do 
     read -p "Enter Y for yes, N for no: " request; 
     if [[ $request == [YynN] ]];then 
          break;
     fi;
done