• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Abfrage des Rückgabewertes $? bei jedem Befehl

tomlif

Member
Hallo:

ich möchte in einem Skript den Rückgabewert ($?) bei jedem Befehl auf Fehler überprüfen. Natürlich etwas umständlich, immer folgendes nach jedem Befehl zu schreiben:

if [ $? -ne 0] then
echo "Step xy: Fehler..." >> log.dat
else
echo "Step xy: Erfolgreich..." >> log.dat
fi


Gibt es keine Vereinfachungsmöglichkeit?
Vielen Dank.
t.
 

TeXpert

Guru
Du sagst leider nicht warum :)

wenn es nur um den Ablauf geht: lass das script mit
Code:
sh -x foobar.sh
laufen und sieh Dir die Ausgabe an...
 
Oder mache eine Funktion draus...


check_me()
{

if [ $1 -ne 0] then
echo "Step xy: Fehler..." >> log.dat
else
echo "Step xy: Erfolgreich..." >> log.dat
fi

}

....

check_me $?
....

check_me $?
...

Haveaniceday
 
OP
T

tomlif

Member
Danke an Euch beide! :D

Ich denke, die Idee mit der Funktion ist das richtige. Damit kann ich alle meine Scripte vereinfachen.....bisher habe ich wirklich die IF_THEN_ELSE-GEschichte hinter jedem Befehl geschrieben, um zu sehen, ob es Probleme mit dem vorangehenden Befehl (z.B. TAR) gab.

Damit geht es gut. Ist wirklich eine Hilfe.

Gruß
t.
 
Oben