A ordem do redirecionamento é importante, pois eles são executados sequencialmente:
> nome do arquivo 2 > & 1
stdout
( fd 1
) apontará para filename
e depois o stderr
( fd 2
) apontará para o destino de stdout
neste exemplo filename
.
Isso significa que stdout
e stderr
são redirecionados para filename
2 > & 1 > nome do arquivo
Aqui stderr
( fd 2
) apontará para o destino de stdout
e depois stdout
( fd 1
) redirecionará para filename.
Isso significa que stderr
será redirecionado para a meta original de stdout
e stdout
será redirecionado para filename
.
Então, em suma, a ordem dos redirecionamentos é importante, pois cada filodescriptor é independente um do outro.
Informações adicionais
Para mais informações, veja algumas outras perguntas e respostas, como: