Komme per ssh remote ausführen und Result per echo $? auslesen
rechner:~ # ssh 192.168.1.1 ls -l "*" funktioniert aber wie kann ich bei anderen Befehlen echo $? auswerten oder bleibt nur der Weg über eine Datei mit Statusinformationen die ich dann z.B. per grep auslese. -- i.A. Ralf Prengel Customer Care Manager Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49231 97575- 904 Fax +49231 97575- 905 EMail ralf.prengel@comline.de www.comline.de Vorstand Stephan Schilling,Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 -- 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
* Ralf Prengel
rechner:~ # ssh 192.168.1.1 ls -l "*" funktioniert aber wie kann ich bei anderen Befehlen echo $? auswerten oder bleibt nur der Weg über eine Datei mit Statusinformationen die ich dann z.B. per grep auslese.
Du denkst zu kompliziert: $ ssh newton /bin/false $ echo $? 1 Zugegeben, du hast das Problem dass du dann einen SSH-Fehler nicht von einem Programmfehler unterscheiden kannst. Dazu musst du entweder über die Ausgabe gehen oder vorher einen SSH-Testlauf, z.B. mit /bin/true machen, wo du dir dann quasi sicher sein kannst, dass es ein SSH-Fehler ist. Gruß, Bernhard -- 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 Mit, 19 Dez 2007, Ralf Prengel schrieb:
rechner:~ # ssh 192.168.1.1 ls -l "*" funktioniert aber wie kann ich bei anderen Befehlen echo $? auswerten oder bleibt nur der Weg über eine Datei mit Statusinformationen die ich dann z.B. per grep auslese.
Dafür kann man remote ne Shell einspannen:
$ ssh localhost '/bin/false; echo "$?"'
dh@localhost's password:
1
$ ssh localhost '/bin/true; echo "$?"'
dh@localhost's password:
0
$
Beim Quoten kann das aber schnell häßlich werden. Aber auch dafür
gibt's Abhilfe, denn sowohl ssh als auch die shell lesen von stdin...
$ cat <<'EOF' | ssh localhost bash
/bin/false; echo "$?";
/bin/true; echo "$?";
EOF
dh@localhost's password:
1
0
$
Bzgl. <
participants (3)
-
Bernhard Walle
-
David Haller
-
Ralf Prengel