Hallo,
ich habe eine kleine Befehlsabfolge in Linux
./test-del
./test2-copy
./db-leeren
Wenn z.B. /test2-copy nicht ausgeführt wird wegen folgender Meldung
(no such file or directory)
soll auf gar keinen Fall ./db-leeren ausgeführt werden.
Wie kann ich so etwas abfangen ?
User since
2005-01-17
14746
Artikel
Admin1
Die Shell nimmt auch Operatoren
test-del && test2-copy && db-leeren
;)
Du musst nur eben einen bestimmten Exitcode der Skripte zurück geben.
Mmmh, das ist es ja ...
wie mache ich das mit dem Exit-Code ?
User since
2005-01-17
14746
Artikel
Admin1
Ich nehme mal an, das sind alles Shellskripte.
Es ist meistens so, dass ein Exitcode 0 bei Programmen Erfolg bedeutet.
Siehe Shellskript:
http://www.pro-linux.de/work/shell/shell5.html
http://steve-parker.org/sh/exitcodes.shtml
Wenn du in deinem Shellskript aber eigene Abfragen machst, dann solltest du bei Misserfolg schon ein exit > 0 zurück geben.
User since
2003-08-21
2614
Artikel
ModeratorIn
Wenn's länger wird, spart man sich lieber das '&&' und nutzt stattdessen -e:
set -e
befehl1
befehl2
befehl3
Das Script bricht ab, sobald einer der Befehle einen Fehler zurueckgibt.