¿Cómo cambiar temporalmente el modo de seguimiento/detallado de bash?

¿Cómo cambiar temporalmente el modo de seguimiento/detallado de bash?

Yo uso -xpara rastrear la ejecución del script bash:

#!/bin/bash -x

x=1
y=2

durante la ejecución se envía a la salida

+ x=1
+ y=2

la pregunta: ¿cómo puedo detener/pausar el modo de rastreo en medio del script y luego habilitarlo nuevamente? Tenga en cuenta que NO se trata de algo como y=2 >/dev/null.

¿Es posible en modo detallado ( #!/bin/bash -v)?

Respuesta1

Elsetincorporadocontrola esas opciones.

Encender xtrace:

set -x

Para apagarlo:

set +x

Es una lógica un poco inversa con el más y el menos, pero ahí está.

De manera similar, todas las demás opciones admitidas por settambién se pueden configurar en la línea de comando (*) , lo bash -umismo que set -uetc. Hay una lista de ellas en la descripción vinculada, y help seten la línea de comando también se muestran.

Algunas de las opciones también tienen formatos largos, por ejemplo , set -o xtracees lo mismo que set -x.

(* Sin embargo, no podemos decir lo contrario. No todas las opciones de la línea de comando se pueden configurar con set, por ejemplo, -lno tiene equivalente y -c, obviamente, tampoco lo tiene).

información relacionada