PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : exit wenn Befehl fehlschlägt [bash]



Sector1379
14-03-2006, 08:02
Hallo zusammen

Ich Frage mich gerade wie man prüft in einem Shell script ob ein Befehl sauber durch gelaufen ist, also z.b "make".

Ablauf:
Wenn ein Fehler aufgetreten ist dann exit 1 und warning ausgabe sonst Ok und weiter.

In C ist es ja so das man die Befehle in eine if Schleife packen kann und daraus folgt dann das error handling.

Aber wie läuft das in einem Shell Script ??

Caveman
14-03-2006, 10:13
Wenn das Skript zu Ende ist, gibst Du als nächsten Befehl einfach folgendes ein:

echo $?
Hier sollte dann 0 angezeigt werden. Alles andere ist ein Fehler.

Mehlwurm
14-03-2006, 11:51
kannst aber auch jeden befehl einzeln mit "echo $?" testen ;-)

Sector1379
15-03-2006, 11:00
Super danke schön für eure Hilfe :cool:

Blackhawk
16-03-2006, 14:04
make || exit

oder besser:

./configure && make && make install

Joghurt
17-03-2006, 12:10
set -e geht auch. dann wird nach jedem Fehler sofort abgebrochen.

Kannst auch stattdessen "#!/bin/sh" durch "#!/bin/sh -e" ersetzen.

Mehlwurm
20-03-2006, 12:54
das mit -e kannte ich nicht und ist gut zu wissen ...*smile
thx