Como redirecionar o padrão e erro padrão para um arquivo, e erro padrão (apenas) para consolar ao mesmo tempo

1

Eu gostaria de dirigir:

  • Saída padrão para arquivo.
  • Erro padrão no mesmo arquivo.
  • Erro padrão no console (assim como no arquivo).

Eu vi esse tipo de coisa:

mycommand 2>&1 | tee test.txt

Mas mostra a saída padrão no console, onde eu só quero ver erros.

Ben
fonte

Respostas:

1

Isso não é o ideal, mas deveria fazer:

exec 3>mylogfile; mycmd 2>&1 >&3 | tee >(tee >&3);exec 3>&-;
g24l
fonte
Obrigado por isso. Parece funcionar bem na maioria dos nossos scripts. Tenho um script que estou executando com isso, que apenas trava até que eu Ctrl-C. Ele termina imediatamente sem o "tee> (tee> & 3)" bit, mas fica por perto quando esse bit está lá. Depurará um pouco mais.
Ben