Casca de peixe
Para redirecionar a saída padrão e o erro padrão para o arquivo all_output.txt, você pode escrever:
echo Hello > all_output.txt ^&1
Eu sei a resposta para algumas conchas, por exemplo com cmd.exe
você pode:
some.exe > out.txt 2>&1
Como você consegue o mesmo para outros shells (bash, ksh, tcsh, powershell, etc)?
Casca de peixe
Para redirecionar a saída padrão e o erro padrão para o arquivo all_output.txt, você pode escrever:
echo Hello > all_output.txt ^&1
Para csh e tcsh
some.exec >& out.txt
Em Powershell , é exatamente o mesmo:
2>&1 Sends errors to the get-process none, powershell 2>&1 success output stream.
(de about_Redirection
).
Em bash
e ksh pelo menos eu também sei que funciona dessa maneira .
Parece ser uma convenção comum.
Uma maneira rápida de descobrir isso é abrir a página man do shell e fazer uma pesquisa por &1
(com /
e, em seguida, digitando &1
). Isso raramente ocorre em outros contextos.
No bash você faz exatamente o mesmo.
./some_exec > out 2>&1
Tags command-line bash shell