<Anterior | Conteúdo | Próxima>
Redirecionando a saída padrão e o erro padrão para um arquivo
Existem casos em que podemos desejar capturar toda a saída de um comando para um único arquivo. Para fazer isso, devemos redirecionar a saída padrão e o erro padrão ao mesmo tempo. Existem duas maneiras de fazer isso. Primeiro, a forma tradicional, que funciona com versões antigas do shell:
[me @ linuxbox ~] $ ls -l / bin / usr> ls-output.txt 2> & 1
[me @ linuxbox ~] $ ls -l / bin / usr> ls-output.txt 2> & 1
Usando este método, realizamos dois redirecionamentos. Primeiro, redirecionamos a saída padrão para o arquivo ls-saída.txt e então redirecionamos o descritor de arquivo 2 (erro padrão) para o descritor de arquivo um (saída padrão) usando a notação 2> e 1.
Observe que a ordem dos redirecionamentos é significativa. O redirecionamento do erro padrão deve sempre ocorrer depois de redirecionando a saída padrão ou não funciona. No exemplo acima,
> ls-output.txt 2> & 1
redireciona o erro padrão para o arquivo ls-saída.txt, mas se o pedido for alterado para
2> & 1> ls-output.txt
o erro padrão é direcionado para a tela.
Versões recentes de bater fornecer um segundo método mais simplificado para realizar este
Redirecionando erro padrão
redirecionamento combinado:
[me @ linuxbox ~] $ ls -l / bin / usr &> ls-output.txt
[me @ linuxbox ~] $ ls -l / bin / usr &> ls-output.txt
Neste exemplo, usamos a notação única &> para redirecionar a saída padrão e o erro padrão para o arquivo ls-saída.txt. Você também pode anexar a saída padrão e os fluxos de erro padrão a um único arquivo da seguinte forma:
[me @ linuxbox ~] $ ls -l / bin / usr & >> ls-output.txt
[me @ linuxbox ~] $ ls -l / bin / usr & >> ls-output.txt