Hallo, Am Mittwoch, 15. Juni 2011 09:02 schrieb Stefan Plenert:
Am Dienstag, 14. Juni 2011, 08:50:09 schrieb Kyek, Andreas, VF-DE:
Stefan Plenert wrote:
Meine Konsole sagt: :~> test "a"="b" && echo "Ja" | echo "Nein"
Nein
:~> test "a"="b" && echo "Ja" || echo "Nein"
Ja
:~> test "a" = "b" && echo "Ja" || echo "Nein"
Nein
...
Andreas
PS: Deine erste Zeile würde ich kürzen auf:
echo "Nein"
Die dritte auch.
Warum mehr eingeben als Notwendig?
Warum den senkrechten Strich 2 mal eingeben, wenn einer es macht. Hir komme ich auch zum komme ich doch zum richtigen Ergebnis.
Das liefert echo "Nein" auch ;-) Das Zeichen | bezeichnet eine Pipe, die liefert die Ausgabe des linken Befehls an den rechten, der sie aber in Deiner ersten Zeile ignoriert. Das Zeichen || bezeichnet ein logisches "oder" mit dem Exitwert des linken Befehls, d.h. der rechte wird nur ausgeführt, wenn das Ergebnis links 0, also false ist. In der zweiten Zeile testest Du, ob der Ausdruck "a"="b" ein String ist, Ergebnis true, in der dritten testest Du, ob String a gleich String b ist, Ergebnis false. @Andreas: Ich habe das alles auch nicht gleich beim ersten Lesen verstanden. -- Herzliche Grüße! Rolf Muth Meine Adressen duerfen nicht fuer Werbung verwendet werden! PGP Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xF8DC41935544C89A Analoge Uhr (clock): http://www.heise.de/software/download/analoge_uhr/61872