desenv-web-rp.com

Como faço para combinar stdout e stderr para diferentes conchas?

Eu conheço a resposta para algumas conchas, e. com cmd.exe você pode:

some.exe > out.txt 2>&1

Como você consegue o mesmo para outras conchas (Bash, Ksh, Tcsh, PowerShell, etc)?

18
pesche

Shell 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
16
Gringo Suave

Para csh e tcsh

some.exec >& out.txt
5
KeithB

Em bash você faz exatamente o mesmo.

./some_exec > out 2>&1
2
Bjarke Freund-Hansen

Em PowerShell É exatamente o mesmo:

 2> & 1 envia erros para o processo de obtenção, PowerShell 2> & 1 
 Fluxo de saída de sucesso.

(a partir 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 sobre isso é abrindo a página do homem do shell e fazer uma busca por &1 (com / e, em seguida, digitando &1). Isso raramente ocorre em outros contextos.

2
Joey