wie ändere ich den Bash-Tracing-/Ausführlichen Modus vorübergehend?

wie ändere ich den Bash-Tracing-/Ausführlichen Modus vorübergehend?

Ich verwende -xzum Verfolgen der Ausführung von Bash-Skripten:

#!/bin/bash -x

x=1
y=2

während der Ausführung sendet an Ausgabe

+ x=1
+ y=2

die Frage: Wie kann ich mitten im Skript den Tracing-Modus stoppen/anhalten und dann wieder aktivieren? Bitte beachten Sie, dass es NICHT um etwas wie y=2 >/dev/null geht.

Ist dies im ausführlichen Modus ( #!/bin/bash -v) möglich?

Antwort1

Derseteingebautsteuert diese Optionen.

Zum Einschalten xtrace:

set -x

So schalten Sie es aus:

set +x

Das ist ein bisschen eine umgekehrte Logik mit dem Plus und Minus, aber so ist es nun einmal.

Ebenso setkönnen alle anderen von unterstützten Optionen auch auf der Kommandozeile (*) gesetzt werden , also bash -uhat man dasselbe wie set -uusw. Eine Liste dieser Optionen findet sich in der verlinkten Beschreibung und help setauf der Kommandozeile werden sie auch angezeigt.

Einige der Optionen haben auch Langformen, z. B. set -o xtraceist dasselbe wie set -x.

(* Das können wir allerdings nicht andersherum sagen. Nicht alle Kommandozeilenoptionen können mit gesetzt werden set, zB -lhat kein Äquivalent und offensichtlich auch nicht -c.)

verwandte Informationen