[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: