Warum spuckt Terminal Fehler bei diesem Script aus?
Wenn ich das Script ausführen möchte, spuckt es diese Fehlermeldung aus: ./logon: Zeile 21: Syntaxfehler beim unerwarteten Wort }' ./logon: Zeile 21:
}'
Warum?
Script: https://pastebin.com/D8YPNrmN
3 Antworten
Ich glaube da fehlt ein fi in der Zeile 21. Der if Block muss abgeschlossen sein.
Das Syntaxhighlighting bei pastebnin ist ab Zeile 61 zerschossen,. Auch ein Hinweis auf einen anderen Syntaxfehler, Bei dem echo fehlt die Anführungsstriche.
Danke sehr. :D
Schon peinlich, dass ich nicht selber drauf gekommen bin...
Es fehlt ein fi zum Abschluß des if blocks, weiter unten bei Zeile 67/68 ist noch ein Paranthesefehler, die Funktion wird nicht beendet.
Ah, okay, Gedankenlesen ist ja nun schwierig ;-).
Bitte, gern geschehen, ich dachte weil kurz dahinter eine neue Funktion definiert wird, sollte die aktuelle zu Ende sein.
Es war mir nur wegen des Highlighting ins Auge gestochen, daß da was nicht ganz passt.
echo "Bitte geben sie nun das Passwort für den Nutzer "$un " ein."
Für echo ist die Zeichenkette schon bei Nutzer "
beendet.
Was passiert dann mit $un" ein." ?
Ich würde $sun so schreiben: \"$sun\"
\" hebt die Sonderbedeutung des " auf und schreibt es auf den Monitor.
Die Funktion wird erst unten beendet, allerdings habe ich da auch eine finish line vergessen. Dennoch danke sehr. :D