函数调用后恢复运行脚本

函数调用后恢复运行脚本

我正在编写一个脚本,该脚本在函数提供的 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
}

相关内容