ubuntuusers.de

Error Abfrage in Bash Script

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

AndyGysau

Anmeldungsdatum:
28. November 2017

Beiträge: 19

Hallo,

und zwar ich habe jetzt mein Script fertig und möchte gernen mehrer Abfragen einpflegen.

zum ersten beim Mount soll eine Error-Abfrage rein und nach dem rsync Befehl soll eine Error-Abfrage rein. Wo mir dann eine Mail zukommen lässt.

zum zweiten möchte ich die Ausgabe von rsync in eine Datei ausgeben.

Hätte da jemand ein Vorschlag??

Liebe Grüße, AndyGysau

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11243

Wohnort: München

AndyGysau schrieb:

zum ersten beim Mount soll eine Error-Abfrage rein und nach dem rsync Befehl soll eine Error-Abfrage rein.

Shell/Operatoren (Abschnitt „ODER-Verknuepfung-von-Befehlen-mit“)

Wo mir dann eine Mail zukommen lässt.

Da brauchst du noch ein cli-Programm, das E-Mails versenden kann, z.B. mail (in Verbindung mit einem MTA wie Postfix) oder eigenständig funktionierenden Programmen wie ssmtp, Mutt oder Alpine.

zum zweiten möchte ich die Ausgabe von rsync in eine Datei ausgeben.

Shell/Umleitungen

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

Eine billige Errorabfrage sieht so aus

1
2
3
4
5
if [ $? -ne 0 ]; then
   echo "Fehler !"
else
   echo "Kein Fehler"
fi

das schreibst du unter deinem Befehl und wenn saubere exitcodes geliefert werden kannst du das ausweerten.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13166

Mokkujin schrieb:

Eine billige Errorabfrage sieht so aus

1
2
3
4
5
if [ $? -ne 0 ]; then
   echo "Fehler !"
else
   echo "Kein Fehler"
fi

das schreibst du unter deinem Befehl und wenn saubere exitcodes geliefert werden kannst du das ausweerten.

Das macht man anders:

1
2
3
4
5
if commando; then
   echo "Kein Fehler"
else
   echo "Fehler !"
fi

$? muss man nur benutzen, wenn man auf konkrete Fehlerwerte testen will.

AndyGysau

(Themenstarter)

Anmeldungsdatum:
28. November 2017

Beiträge: 19

Hallo, ihr seid der Hammer! Ich habe die Error Abfrage in meinem Script drin!!

Liebe Grüße, AndyGysau

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

rklm schrieb:

Mokkujin schrieb:

Eine billige Errorabfrage sieht so aus

1
2
3
4
5
if [ $? -ne 0 ]; then
   echo "Fehler !"
else
   echo "Kein Fehler"
fi

das schreibst du unter deinem Befehl und wenn saubere exitcodes geliefert werden kannst du das ausweerten.

Das macht man anders:

1
2
3
4
5
if commando; then
   echo "Kein Fehler"
else
   echo "Fehler !"
fi

$? muss man nur benutzen, wenn man auf konkrete Fehlerwerte testen will.

Da bin ich anderer Meinung, ich möchte und muss eigentlich immer auf genaue Fehlerwerte testen. Deswegen hab ich mir die Schreibweise angewöhnt.

Wenn man allerdings nur auf true/false prüfen möchte ist deine Version natürlich richtiger ...

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13166

Mokkujin schrieb:

rklm schrieb:

$? muss man nur benutzen, wenn man auf konkrete Fehlerwerte testen will.

Da bin ich anderer Meinung,

Nee, bist Du nicht:

ich möchte und muss eigentlich immer auf genaue Fehlerwerte testen. Deswegen hab ich mir die Schreibweise angewöhnt.

Wenn man allerdings nur auf true/false prüfen möchte ist deine Version natürlich richtiger ...

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

Autsch ist schön böse wenn man was schreibt was einem dann ein anderer wieder um die Ohren haut und man denkt sich dann "Hmm verdammt er hat recht ☺"

Ok wir sind einer Meinung *gg*

Antworten |