While 루프/If 문 문제

While 루프/If 문 문제

두번째 포스팅인데 아직 초보입니다. 내 임무는 사용자에게 차 한잔을 제공하는 짧은 프로그램을 작성하는 것입니다. 아이디어는 효과적인 사용을 보여주는 것입니다.while 루프와 if 문.

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

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

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

`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

관련 정보