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