Re: shell: exit code abfragen
Ulrich B?chsel hat gesagt: // Ulrich B?chsel wrote:
> Hallo Liste!
>
> Ich habe eine Frage zur Shell-Programmierung: Wie kann ich in einem skript
> den exit code eines dort aufgerufenen Programms abfragen und in Abhängigkeit
> davon z. B. ein anderes Programm starten?
$? enthält den exit code. Zum Beispiel so:
$ man bash
Reformatting bash(1), please wait...
[quit hier]
$ echo $?
0
$ ls blabalbsl
ls: blabalbsl: No such file or directory
$ echo $?
1
> Konkret geht es darum, daß ich wegen einer dialup internet Verbindung
> und einem email-Provider mit pop before smtp die remote auszuliefernde
> mail nur dann versenden will (durch Aufruf von exim), wenn ich mich zuvor
> erfolgreich über pop anmelden konnte (durch Aufruf von fetchmail).
Ich glaube, das geht auch direkt im Mailserver, aber ich kenne exim nicht
näher.
> Zunächst dachte ich, ich könnte beide Programme über && miteinander
> verbinden. Das dürfte jedoch daran scheiteren, daß fetchmail bei
> erfolgreichem Einloggen aber Fehlen von runterzuladender email einen
> exit code von 1 (und damit einen Fehler im Sinne von &&) zurückliefert.
>
> Es dürfte sich hier um ein ziemlich banales Problem handeln. Nur fehlt
> mir die Erfahrung in der Shell-Programmierung.
In fetchmail(1) habe ich 24 Exit Codes gefunden, wahrscheinlich musst du
die alle checken. Na, mit $? weißt du jetzt ja, wo du sie findest.
Viel Spaß,
--
__ __
Frank Barknecht ____ ______ ____ __ trip\ \ / /wire ______
/ __// __ /__/ __// // __ \ \/ / __ \\ ___\
/ / / ____/ / / / // ____// /\ \\ ___\\____ \
/_/ /_____/ /_/ /_//_____// / \ \\_____\\_____\
/_/ \_\
Reply to: