Probleme mit der While-Schleife/If-Anweisung

Probleme mit der While-Schleife/If-Anweisung

zweites Mal poste ich, bin aber noch ein Anfänger. Ich habe die Aufgabe, ein kurzes Programm zu schreiben, das dem Benutzer eine Tasse Tee anbietet. Die Idee ist, die effiziente Nutzung vonwhile-Schleifen und if-Anweisungen.

Der Benutzer wird gefragt: „Möchten Sie eine Tasse Tee?“. Wenn der Benutzer mit „Ja“ antwortet, endet das Skript.

Wenn der Benutzer Nein [N] sagt, fragt das Skript anschließend: „Sind Sie sicher?“noch viermalWenn der Benutzer zu irgendeinem Zeitpunkt während dieser vier Wiederholungen „Ja“ [J] sagt, wird das Skript beendet.

Hier ist mein bisheriges Skript. Ich habe es ausgeführt und es funktioniert, soweit es Ja sagt, aber das schleifenförmige „Nein“ bereitet mir Probleme; und ich scheine es jetzt überhaupt nicht ausführen zu können - ich erhalte die folgende Meldung

`syntax error: near unexpected token 'else'`

Hier ist mein vollständiges Skript. Ich bin noch ganz neu darin, daher ist mir jedes Feedback herzlich willkommen.

#!/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

verwandte Informationen