O último; Isso garante que STDOUT e STDERR do comando original vão para o mesmo fd, então os alimenta em conjunto no tee. No primeiro caso, é o STDERR do comando tee que você estaria se juntando ao seu STDOUT.
Não estou claro qual é a melhor ordem para capturar STDERR
e STDOUT
no mesmo arquivo usando tee
. Eu sei que se eu quiser canalizar para um arquivo eu tenho que mapear o filehandle após o redirecionamento, ou seja,
find . >/tmp/output.txt 2>&1
Isso instrui o shell a enviar STDOUT
para /tmp/output.txt
e enviar STDERR
para STDOUT
(que agora está enviando para /tmp/output.txt
).
A tentativa de executar o 2>&1
antes de redirecionar o arquivo não terá o efeito desejado.
No entanto, quando eu quiser enviar pipe usando tee
, ele deve ser:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?