Pedido de redirecionamento [duplicado]

1

Qual é a diferença entre:

command > file-name 2>&1

e

command 2>&1 > file-name

Por que, por exemplo, (asumming não há arquivo xxx ).

ls xxx > 1.txt 2>&1

funciona enquanto

ls xxx 2>&1 > 1.txt

não?

    
por Mulligan 09.01.2017 / 12:33

1 resposta

1

A ordem dos redirecionamentos é significativa. Por exemplo, o comando

ls > dirlist 2>&1

direciona a saída padrão (descritor de arquivo 1) e o erro padrão (descritor de arquivo 2) para o diretório de arquivos, enquanto o comando

ls 2>&1 > dirlist

direciona apenas a saída padrão para o arquivo dirlist, porque o erro padrão foi feito uma cópia da saída padrão antes que a saída padrão fosse redirecionada para o dirlist.

(citado no Manual de referência do Bash )

    
por 09.01.2017 / 12:50