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