En bash, cuando se ejecuta con la -x
opción, ¿es posible eximir los comandos individuales del eco?
Estoy tratando de hacer que la salida sea lo más ordenada posible, por lo que estoy ejecutando ciertas partes de mi script en una subshell con set +x
. Sin embargo, la fila en set +x
sí todavía se repite y no agrega información valiosa a la salida.
Recuerdo que en los viejos .bat
tiempos, cuando corría con echo on
, las líneas individuales podían estar exentas al comenzar con un @
. ¿Hay algún equivalente en bash?
#!/bin/bash -x
function i_know_what_this_does() {
(
set +x
echo do stuff
)
}
echo the next-next line still echoes 'set +x', is that avoidable?
i_know_what_this_does
echo and we are back and echoing is back on
Al ejecutar lo anterior, la salida es:
+ echo the next-next line still echoes 'set +x,' is that 'avoidable?'
the next-next line still echoes set +x, is that avoidable?
+ i_know_what_this_does
+ set +x
do stuff
+ echo and we are back and echoing is back on
and we are back and echoing is back on