Yo uso -x
para 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
Elset
incorporadocontrola 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 set
también se pueden configurar en la línea de comando (*) , lo bash -u
mismo que set -u
etc. Hay una lista de ellas en la descripción vinculada, y help set
en la línea de comando también se muestran.
Algunas de las opciones también tienen formatos largos, por ejemplo , set -o xtrace
es 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, -l
no tiene equivalente y -c
, obviamente, tampoco lo tiene).