Eu tenho um script de shell com set -x
a saída detalhada / depuração:
#!/bin/bash
set -x
command1
command2
...
A saída é assim:
+ command1
whatever output from command1
+ command2
whatever output from command2
Meu problema é, a saída de shell (causada por set -x
) vai para o stderr, misturado com a saída dos comandos ( command1
, command2
...). Eu ficaria feliz em ter a saída "normal" na tela (como o script sem o woud set -x
) e a saída "extra" do bash separadamente em um arquivo.
Então, eu gostaria de ter isso na tela:
whatever output from command1
whatever output from command2
e isso em um arquivo de log:
+ command1
+ command2
(também é bom se o arquivo de log tiver tudo junto)
O set -x 2> file
obviamente doens't ter o efeito certo, porque não é a saída do comando set, mas mudar o comportamento do bash.
Usar bash 2> file
o script inteiro também não faz a coisa certa, porque redireciona o stderr de todos os comandos que são executados neste shell, portanto, não vejo a mensagem de erro dos comandos.