Nach dem Aufrufen set -e
einer interaktiven Bash-Shell wird Bash sofort beendet, wenn ein Befehl mit einem Wert ungleich Null beendet wird. Wie kann ich diesen Effekt rückgängig machen?
Nach dem Aufrufen set -e
einer interaktiven Bash-Shell wird Bash sofort beendet, wenn ein Befehl mit einem Wert ungleich Null beendet wird. Wie kann ich diesen Effekt rückgängig machen?
Antworten:
Mit set +e
. Ja, es ist nach hinten , dass Sie ermöglichen mit Shell - Optionen set -
und deaktivieren Sie sie mit set +
. Historische Rosinen, Donchanow.
+
ist wie, -
aber etwas zu überqueren bedeutet "nicht" wie in "≠".
Es kann unhandlich sein, set +e
/ set -e
jedes Mal zu verwenden, wenn Sie es überschreiben möchten. Ich habe eine einfachere Lösung gefunden.
Anstatt es so zu machen:
set +e
command_that_might_fail_but_we_want_to_ignore_it
set -e
Sie können es so machen:
command_that_might_fail_but_we_want_to_ignore_it || true
oder, wenn Sie Tastenanschläge speichern möchten und nichts dagegen haben, ein wenig kryptisch zu sein:
command_that_might_fail_but_we_want_to_ignore_it || :
Hoffe das hilft!
:
Ich habe mich über die Geschichte von gewundert und hier meine Antwort gefunden , falls jemand anderes neugierig ist.