函數呼叫後恢復運行腳本

函數呼叫後恢復運行腳本

我正在編寫一個腳本,該腳本在函數提供的 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
}

相關內容