Bash-Script: Problem mit while-Schleife
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
abfrage
anweisung
benutzt danke
bestimmte funktion
code
datum
dollar
eingabe
folgendes problem
genommen code
geschrieben code
inhalt
schleife
springen
tick
ticks
variable abfrage
variablen abfrage
zeichen
zeile
-
Hi Leute,
folgendes Problem; ich habe ein kleines Skript um einige große Daten mit einer kleinen Menüsteuerung zu packen geschrieben.
#!/bin/bash echo 'Soll gezippt werden? y(es)/n(no)/v(iew)' while [ '$abfrage' != 'exit' ] do read abfrage case $abfrage in y) echo 'ZIP' dozip echo 'ZIP - fertig!' ;; n) echo 'Kein ZIP --> Exit program' ;; v) echo 'VIEW' viewfiles ;; *) echo 'Befehl nicht bekannt' ;; esac done
Das Problem ist, dass die case-Fälle alle funktionieren, jedoch bei Eingabe von "exit" das Skript nicht beendet wird.
Hat jemand eine Idee wo mein Fehler liegt? Ich könnte auch per "exit)" die Variable "$abfrage" in der case Anweisung abfragen und per "exit 0" beenden, jedoch möchte ich das über die while-Schleife regeln. :( Ich möchte nicht aus der laufenden while-Schleife springen. Gibt es da noch eine andere Möglichkeit?
Danke & Gruß -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Super, das funktioniert!
Zeile 4:
while [ "$abfrage" != 'exit' ]
PS: Könntest du mir kurz den Unterschied erklären? Es muss eine bestimmte Funktion haben, wenn man die Quotes an Stelle der Ticks benutzt. Danke dir! -
Die Ticks führen ein full quoting aus, sprich alle Zeichen außer dem Tick selbst werden wörtlich genommen:
'$abfrage'
bezeichnet die Zeichenkette Dollar-abfrage und nicht den Inhalt der Variablen abfrage.
Die Quotes führen ein partial quoting aus, sprich alle Zeichen außer Dollar ($), Backtick (`) und Escape (\) werden wörtlich genommen:
"$abfrage"
bezeichnet somit den Inhalt der Variablen abfrage. -
Alles klar... das hilft mir und meine Verständnis! =) Sehr gute Erklärung übrigens.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage