我正在编写一个脚本,该脚本在函数提供的 while 循环中显示输入选项user_input()
,并根据用户输入设置值,然后调用另一个函数user_info()
。如果用户犯了错误,我会尝试让他返回更正他的输入。因此,如果用户$var
错误地设置为“是”,他可以返回并重置该选项!假设用户重置$var
为“否”,有没有办法不继续 at code (2)
,而是跳转到elif
语句并运行code (3)
?如果问题不清楚,我可以发布我的代码以使其更清楚。多谢:
user_input(){
while true; do
input option $var
done
user_info
}
user_info(){
some code
if [ "${var}" = "Yes" ]; then
code (1)
if [ "${option}" = "back" ]; then
user_input
fi
code (2)
elif [ "${var}" = "No" ]; then
code (3)
fi
}
答案1
我想我找到了一个解决方案,通过在每次调用user_input()
函数后添加 return 来解决这个问题,如果我犯了错误,请纠正我。多谢:
user_input(){
while true; do
input option $var
done
user_info
}
user_info(){
some code
if [ "${var}" = "Yes" ]; then
code (1)
if [ "${option}" = "back" ]; then
user_input
return
fi
code (2)
elif [ "${var}" = "No" ]; then
code (3)
fi
}