Du bist nicht angemeldet.
Hallo,
Bin dabei ein Skript zu schreiben und brauche dabei getopts, damit das Skript je nach Parameter tut, was es soll.
Gefunden habe ich folgendes:
while test $# -gt 0; do
case "$1" in
--help)
help_msg()
;;
-h)
help_msg()
;;
done
Leider bekomme ich beim Ausführen folgenden Fehler:
./ctan.sh: Zeile 7: Syntaxfehler beim unerwarteten Wort `;;'
./ctan.sh: Zeile 7: ` ;;'
Woran kann das liegen und gibt es noch andere Möglichkeiten sowas in's Skript einzubauen?
LG
TimeMen
Offline
1) Die Klammern hinter den Funktionsaufrufen gehören da nicht hin. Funktionsaufrufe in bash erfolgen wie folgt:
funktion parameter1 parameter2
2) Dir fehlt vor dem done ein esac.
Beitrag geändert von schard (07.05.2018 20:05:32)
Offline
1) Die Klammern hinter den Funktionsaufrufen gehören da nicht hin. Funktionsaufrufe in bash erfolgen wie folgt:
funktion parameter1 parameter2
2) Dir fehlt vor dem done ein esac.
Das esac habe ich vergessen einzufügen.
Jetzt habe ich die () hinter den Funktionen entfernt, allerdings lässt sich die Funktion nicht aufrufen, da "Das Kommando nicht gefunden wurde".
Entweder ich habe einen Fehler bei der Deklarierung der Funktionen gemacht oder es liegt doch an der Abfrage..
Danke schonmal
Offline
Oh, hab den eigentlichen Fehler gefunden.
Die Funktionen müssen natürlich über der while-Condition stehen, sonst wird das mit dem Aufruf nichts...
Danke trotzdem
Und sorry
Offline