Ein "Master-Bash-Script" ruft eine Liste von "Unter-Bash-Scripts" auf um es vereinfacht darzustellen. Wenn eines dieser "Unter-Bash-Scripts" nun ein Problem hat, weil eine eine Option keinen gültigen Wert bekommt, dann wird dieses "Unter-Bash-Script" abgebrochen und die Liste wird weiter abgearbeitet, sodass ich von dem Problem nichts mitbekomme. Ich könnte dann zB in eine Textdatei eine Meldung schreiben, sodass ich später merke, dass es ein Problem gab. Welche Möglichkeiten habe ich noch?
Bash-Script bei Fehler abbrecehn
Anmeldungsdatum: Beiträge: 3453 |
|
||
Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Dein Unterskript liefert ja (wie jedes Programm) einen Rückgabewert. Und der ist im Fehlerfall >0 (wenn Du nicht so'n Blödsinn wie ein sinnloses Folglich kannst Du das genauso mit LG, track |
||
Projektleitung
Anmeldungsdatum: Beiträge: 12829 |
Noch einfacher ist es, diese Zeile am Anfang des Skriptes einzufügen:
|
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
Ein "man set" bringt mich nicht weiter, wo lese ich mich zu "set -e" ein? |
||
Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
|||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
Ich habe es noch nicht kapiert. Aus "help set"
So wie ich das verstehe, bricht das Script ab, sobald ein Fehler auftritt, oder? Setze ich "set -e" im "Unter-Bash-Script", dann wird es beendet und das "Master-Bash-Script" ruft das nächste "Unter-Bash-Script" auf. Ansonsten glaube ich, dass es sowie das Beste ist die abgebrochenen Scripts in eine Datei zu schreiben, das hat man dann auch nach einem Neustart. |
||
Projektleitung
Anmeldungsdatum: Beiträge: 12829 |
Ja. Probier es halt mal aus. Selbst ist der Mann.
Ja, Du musst es natürlich im Master-Skript eintragen. Das wolltest Du doch abbrechen, wenn eines der aufgerufenen Skripte einen Fehler hat.
Generell bietet es sich an bei komplexeren Operationen ein Log zu schreiben, damit Du weißt, was geklappt hat und was nicht. Ich weiß jetzt nicht, was Du da baust, aber es scheint ja schon komplizierter zu sein, wenn Du die Funktionalität auf mehrere Skripte verteilen musst. Eine andere Frage ist, ob die Shell dafür überhaupt das richtige Werkzeug ist, oder man nicht eine der bekannten Skript-Sprachen nutzen sollte. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
Ja, das habe ich mir mittlerweile auch gedacht. |