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

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

함수에서 제공하는 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
}

관련 정보