Contents
Manchmal wird auf Ihrem Computer möglicherweise eine Meldung angezeigt, dass der Smash-Skriptfehler weiterhin ignoriert wird. Dieser Fehler kann mehrere Gründe haben.Standardmäßig ignorieren Get-together-Skripte Fehler praktisch und bleiben bei der Ausführung auf dem neuesten Stand. Das erste, was wir alle tun müssen, wenn wir unsere bevorzugten Skripte ausführen, ist die grundlegenden Optionen für die Fehlerbehandlung bei Gelegenheiten, wie unten beschrieben.
Damit die Bash Fehler in einigen Befehlen vergisst, können Sie Folgendes sagen:
beliebiger-beliebiger-Befehl || wahr
Dieser Commit wird definitiv die Skriptausführung fortsetzen. Zum Beispiel, solange Sie das folgende Skript haben:
$ Katzenfuttersetze -eEcho 1beliebiger-willkürlicher-Befehl || wahrEcho 2
Dollar Bash Fooeinsz: Binding 3: any-arbitrary-command: Management nicht gefunden2
Wenn weggelassen wird || true
Auf der Kommandozeile würde ich sagen:
rr Get-together-Fooeinsz: Zeile 3: any-any-command: Befehl absolut nicht gefunden
Das Cover wird nicht geschlossen, wenn der Befehl fehlschlägt, der normalerweise mit der Datei verknüpft ist. ist einDie Befehle an einem einzigen Tag listen das angehängte Schlüsselwort auf, obwohl
oder vor
steht, Teilteste hier in einer if
Bemerkung, Teil eines Befehls, der mit ziemlicher Sicherheit in einem funktionalen &&
ausgeführt wird, oder ||
Ein anderes Merkmal als das Befehlswort, das dem letzten &&
entspricht, aller Wahrscheinlichkeit nach ||
, jede BestellungSie sehen, die Pipeline, aber zuletzt in jedem Problem oder wenn sich der Befehl in einem Wiederherstellungszustand befindetgespiegelt mit !
. Trap für ERR
, einmal definiert, wird vor ihrer Shell implementiertbeendet.
BEARBEITEN: Ich werde die Schritte ändern, die normalerweise die Ausführung nur bei der Ausführung von any-any-command
apply nicht finden
wann immer Teil. gibt normalerweise einen starken Fehler zurück, Sie könnten sagen:
[[$ (some-random-command 2> & 1) = ! "Datei nicht gefunden"]]
Wie deaktiviere ich das Verhalten “Beenden bei 0” im Bash-Skript?
Wenn Sie bash bestehen könnten, können Sie die spezifische Gesamtleistung Ihres Skripts in Fällen überprüfen, in denen es zu Unklarheiten (Ausstiegsgesetz außer 0) kommt, indem Sie diese Plattform verwenden, die in Ihre aktuelle + e-Technik integriert ist. Dadurch wird das Verhalten von Ausgang nicht 0 deaktiviert:
Zur Veranschaulichung wäre Folgendes (der Eintrag MissingFile named.txt
existiert nicht):
$ Katzenfutter#! / farm / bashsetze -usetze -efoo () rm MissingFile.txtecho $ (foo 1[[2> & 1) = ~ "Unsortierte Datei"]]Echo 2$ (äh)Echo 3
$ shindig fooeins2rm: `MissingFile.txt kann nicht gelöscht werden haya: n Von einer solchen Liste in ein Verzeichnis
Abteilungs-ID: 6c1fe7a54e92e9c8
IP-Verwaltung: 58.232.188.166