Hallo zusammen, # test "a"="b" && echo "Ja" || echo "Nein" Ja Spinnt meine Bash? -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 13.06.2011 um 15:32 schrieb Andre Tann:
# test "a"="b" && echo "Ja" || echo "Nein" Ja
~$ test "a" = "b" && echo "Ja" || echo "Nein" Nein -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Andre! On Mo, 13 Jun 2011, Andre Tann wrote:
Hallo zusammen,
# test "a"="b" && echo "Ja" || echo "Nein" Ja
Nunja, das entspricht so ungefähr dem hier: test "foobar" Weil das als 1 String zusammen gesetzt wird.
Spinnt meine Bash?
Nein, Pack ein Space dazwischen, und dann passt es: #v+ ~$ test "a" = "b" && echo "Ja" || echo "Nein" Nein #v- Mit freundlichen Grüßen Christian -- Jesus Lebt! (Soll das heißen, wir bekommen keine Osterferien mehr?) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 13 Jun 2011, Rainer Sokoll schrieb:
Am 13.06.2011 um 15:32 schrieb Andre Tann:
# test "a"="b" && echo "Ja" || echo "Nein" Ja
~$ test "a" = "b" && echo "Ja" || echo "Nein" Nein
Zur Erklärung: Andre, du machst (mangels Leerzeichen) ein 'test STRING && echo ...'. Vgl.: $ test x ; echo $? 0 $ test "" ; echo $? 1 Rainer macht den korrekten Vergleich (Leerzeichen ums '=') und bekommt das erwartete Ergebnis. HTH, -dnh, Erklärbär -- [Rechtschreibreform]
Gruß, An
dreas. Standartargumente -- Peter Lemken -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Morgen zusammen, David Haller, Montag 13 Juni 2011:
Andre, du machst (mangels Leerzeichen) ein 'test STRING && echo ...'. [...] Rainer macht den korrekten Vergleich (Leerzeichen ums '=') und bekommt das erwartete Ergebnis.
Wie kann ein Wald nur so viele Bäume haben... Danke für die Hinweise auch an Rainer und Christian... Viele Grüße! -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag, 13. Juni 2011, 15:35:44 schrieb Rainer Sokoll:
Am 13.06.2011 um 15:32 schrieb Andre Tann:
# test "a"="b" && echo "Ja" || echo "Nein" Ja
~$ test "a" = "b" && echo "Ja" || echo "Nein" Nein
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 MfG Stefan ------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
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
Und? Was willst Du uns damit sagen? Das Du nicht verstehst, warum? Oder was? Andreas PS: Deine erste Zeile würde ich kürzen auf: echo "Nein" Das ist einfacher! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
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
Und?
Was willst Du uns damit sagen? Das Du nicht verstehst, warum? Oder was?
Andreas
PS: Deine erste Zeile würde ich kürzen auf:
echo "Nein"
Das ist einfacher!
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. Mfg Stefan -------- Wörter, Zahlen und Begriffe kann ich mir erst nach längeren Gebrauch merken. Meine Stärke ist Logik. Zusammenhänge erkennen und Verstehen. Die Logik ist ein Anreiz für die Shell. Die Angaben zu merken dauert lange, so dauert es lange bis zur Anwendung. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Stefan Plenert wrote:
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 [...] PS: Deine erste Zeile würde ich kürzen auf: echo "Nein" Das ist einfacher!
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.
Sorry, bin mir nicht sicher ob du tatsächlich so ahnungslos bist oder ob du uns nur verarschen willst. Falls letzteres: Du hast gewonnen (und kannst hier aufhören zu lesen) Falls ersteres solltest du evtl. mal versuchen zu verstehen, was die Kommandos oben machen und warum das jeweilige Ergebnis herauskommt. Deine Antwort zeigt jedenfalls das du keine Ahnung von dem hast, was hier passiert ist. Sorry Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
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
Am Mittwoch, 15. Juni 2011 09:06 schrieb Kyek, Andreas, VF-DE:
Stefan Plenert wrote:
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
[...]
PS: Deine erste Zeile würde ich kürzen auf: echo "Nein" Das ist einfacher!
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.
Sorry, bin mir nicht sicher ob du tatsächlich so ahnungslos bist oder ob du uns nur verarschen willst.
Falls letzteres: Du hast gewonnen (und kannst hier aufhören zu lesen)
Falls ersteres solltest du evtl. mal versuchen zu verstehen, was die Kommandos oben machen und warum das jeweilige Ergebnis herauskommt.
Ich gehe mal von ersterem aus und liefer Dir noch eine Erklärung hinterher: 1. Ein Zeichen: Anweisung1 | Anweisung2 Anweisung1 wird ausgeführt und dessen Standardausgabe wird auf die Standardeingabe von Anweisung2 umgeleitet. Ergebnis: Es werden auf alle Fälle beide Anweisungen ausgeführt. Bei Deinem Vorschlag wird also _immer_ echo "nein" ausgeführt, der test davor ist vollkommen irrelevant. 2. Zwei Zeichen: Anweisung1 || Anweisung2 Anweisung1 wird ausgeführt. Falls Anweisung1 einen Returncode ungleich 0 zurückgibt (ist i.A. ein Indiz für nicht erfolgreich) wird Anweisung2 ausgeführt. Grüße Ralf -- Antworten bitte nur in die Mailingliste! PMs bitte an: listpm (@) arndt-de (.) eu -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 15. Juni 2011, 09:46:17 schrieb Rolf Muth:
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.
Danke Pipe ist mir nicht neu. Das 2 | ein "oder" bezeichnet wußte ich nicht. Ich hatte mich, ehe ich Os kennenlernte mich mit Visual Basic versucht. Die vielen "entweder - oder -" Die vielen logischen Verknüpfungen konnte ich mir nicht merken und gab auf. Danke, wieder was dazu gelernt. MfG Stefan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (9)
-
Andre Tann
-
Christian Brabandt
-
David Haller
-
Kyek, Andreas, VF-DE
-
Rainer Sokoll
-
Ralf Arndt
-
Rolf Muth
-
Stefan Plenert
-
Stefan Plenert