![wie ändere ich den Bash-Tracing-/Ausführlichen Modus vorübergehend?](https://rvso.com/image/164708/wie%20%C3%A4ndere%20ich%20den%20Bash-Tracing-%2FAusf%C3%BChrlichen%20Modus%20vor%C3%BCbergehend%3F.png)
Ich verwende -x
zum 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
Derset
eingebautsteuert 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 set
können alle anderen von unterstützten Optionen auch auf der Kommandozeile (*) gesetzt werden , also bash -u
hat man dasselbe wie set -u
usw. Eine Liste dieser Optionen findet sich in der verlinkten Beschreibung und help set
auf der Kommandozeile werden sie auch angezeigt.
Einige der Optionen haben auch Langformen, z. B. set -o xtrace
ist dasselbe wie set -x
.
(* Das können wir allerdings nicht andersherum sagen. Nicht alle Kommandozeilenoptionen können mit gesetzt werden set
, zB -l
hat kein Äquivalent und offensichtlich auch nicht -c
.)