While 루프/If 문 문제

While 루프/If 문 문제

두 번째 포스터, 아직 신인이다. 나는 사용자에게 차 한 잔을 제공하는 짧은 프로그램을 작성하는 과제를 맡았습니다. 아이디어는 효율적인 사용을 보여주는 것입니다.while 루프와 if 문.

사용자에게 "차 한 잔 드시겠어요?"라는 질문이 표시됩니다. 사용자가 예라고 응답하면 스크립트가 종료됩니다.

사용자가 아니요[N]라고 대답하면 스크립트는 "정말입니까?"라고 묻습니다.네 번 더. 4번의 반복 중 어느 시점에서 사용자가 예[Y]라고 말하면 스크립트가 종료됩니다.

여기까지 내 스크립트가 있습니다. 나는 그것을 실행하고 Yes라고 말할 때까지 작동하게 했지만 반복 가능한 "No"로 인해 문제가 발생했습니다. 지금은 전혀 실행할 수 없는 것 같습니다. 다음 메시지가 나타납니다.

`syntax error: near unexpected token 'else'`

여기 내 스크립트 전체가 있습니다. 다시 한 번 말씀드리지만, 저는 이 분야에 매우 익숙하지 않기 때문에 모든 피드백을 진심으로 환영합니다.

#!/bin/bash
while [[ $refusals != 4 ]]
do
    echo "Will you have a cup of tea? [Y/N]"
    read response
    $refusals = 0

    if [[ $response = Y ]] || [[ $response = y ]]
    then
        $refusals = 4
        echo "Great, I'll make tea now!"
        exit
    elif [[ $response = N ]] || [[ $response = n ]]
        $refusals = [[ $refusals+1 ]]
        echo "Are you sure?"
        read response

    else
        echo "Fine, be that way."
        exit

fi

done

관련 정보