问题描述
无输入-退出
输入'n'-> 退出
输入'y'->继续下一步
'y' 或 'n' 以外的输入 -> 重试 3 次仍然输入错误 -> 退出
我无法实现最后的重试部分。有人可以帮忙吗?
my_func()
{
read -p "Still want to continue (y/n)? : " userin
userin=${userin,}
if [ -z "$userin" ];then
echo "No input"
exit 1
elif [ $userin == "n" ]; then
exit 1
elif [ $userin == "y" ]; then
echo "Next step starting
return
else
echo "You entered $userin - give proper input(y/n)"
fi
}
解决方法
您是否会尝试以下操作:
my_func() {
for ((i = 0; i < 3; i++)) {
read -p "Still want to continue (y/n)? : " userin
if [[ -z $userin ]]; then
echo "No input"
exit 1
elif [[ $userin = "n" ]]; then
exit 1
elif [[ $userin = "y" ]]; then
echo "Next step starting"
return
else
echo "You entered $userin - give proper input(y/n)"
fi
}
exit 1
}