shell script if-problem
rap
- programmiertechnik
Hallo,
die else-Anweisung funktioniert nicht. Mach ich irgendwas falsch?
#!/bin/ksh
while true
do
read var
if [ "var" != "exit" ]
then echo $var| tr '[A-Z]' '[a-z]'
else exit
fi
done
Gruß
Mahlzeit,
Mach ich irgendwas falsch?
Ja. Deine Fehlerbeschreibung
Ja. Deine Fehlerbeschreibung
Also mit "die else-Anweisung funktioniert nicht" habe ich gemeint, dass der Else-Zweig nicht ausgeführt wird.
Wenn ich "exit" eingebe, dann wird nur der Befehl ausgeführt, der bei then steht. Ich will aber, dass dann das Script beendet wird...
Wenn's jemand nicht versteht, dann kann er's ja kurz ausprobieren :-)
Danke
Mahlzeit,
Wenn ich "exit" eingebe, dann wird nur der Befehl ausgeführt, der bei then steht. Ich will aber, dass dann das Script beendet wird...
Und wieso vergleichst du dann den String "var" mit dem String "exit"? Die sind immer ungleich. Logisch, dass da nicht beendet wird.
Hallo,
Und wieso vergleichst du dann den String "var" mit dem String "exit"? Die sind immer ungleich. Logisch, dass da nicht beendet wird.
Hättest du ja schon beim ersten Posting sehen können, dass da ein $ fehlt :-)
Trotzdem Danke!
Mahlzeit,
Hättest du ja schon beim ersten Posting sehen können, dass da ein $ fehlt :-)
Ganz ehrlich, wenn ich lese "funzt nicht", schau ich mir selten das Script an. Erfahrungsgemäss ist der Fehler nicht so einfach zu finden, wie bei dir, weil meisten Kilo(byte)weise Code gepostet wird und ich (und vermutlich auch andere) keine Lust haben, auszuprobieren, ob ein fehler zu finden ist.
Hier hätte es mir gleich auffallen können, da geb ich dir völlig Recht ;)
Hallo,
die else-Anweisung funktioniert nicht. Mach ich irgendwas falsch?
#!/bin/ksh
while true
do
read var
if [ "var" != "exit" ]
then echo $var| tr '[A-Z]' '[a-z]'
else exit
fi
done
Vielleicht solltest Du der Zeile 'nen Dollar spendieren.
Freundliche Grüße
Vinzenz
Vielleicht solltest Du der Zeile 'nen Dollar spendieren.
Ah, vielen Dank. Da hätt ich selber drauf kommen müssen :-)