用户输入一定次数 - bash 脚本
user input for certain number of time- bash script
我定义了一个函数如下。
无输入-退出
输入 '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
}
我定义了一个函数如下。
无输入-退出
输入 '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
}