No bash, ao executar com a -x
opção, é possível isentar comandos individuais do eco?
Estou tentando tornar a saída o mais organizada possível, por isso estou executando certas partes do meu script em um subshell com set +x
. No entanto, a set +x
própria linha ainda é ecoada e não adiciona informações valiosas à saída.
Lembro-me de antigamente .bat
, quando corríamos com echo on
, linhas individuais podiam ser isentas iniciando-as com a @
. Existe algum equivalente no 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
Ao executar o acima, a saída é:
+ 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