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