함수 호출 후 스크립트 실행 재개

함수 호출 후 스크립트 실행 재개

함수에서 제공하는 while 루프에 입력 옵션을 표시 user_input()하고 사용자 입력에 따라 값을 설정하는 스크립트를 작성 중입니다. 그런 다음 다른 함수를 호출합니다 user_info(). 사용자가 실수를 했다면 다시 돌아가서 입력 내용을 수정하도록 제안하려고 합니다. 따라서 사용자가 $var실수로 "예"로 설정한 경우 옵션 재설정으로 돌아갈 수 있습니다! 사용자가 "아니요"로 재설정되었다고 가정하면 에서 재개하지 않고 해당 명령문으로 점프하여 실행하는 $var방법이 있습니까 ? 질문이 명확하지 않은 경우 코드를 게시하여 더 명확하게 만들 수 있습니다. 정말 감사합니다:code (2)elifcode (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

이렇게 함수를 호출할 때마다 return을 추가하여 해결책을 찾은 것 같습니다 user_input(). 실수한 경우 수정해 주세요. 정말 감사합니다:

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
}

관련 정보