Ele passou para o erro padrão, que é o padrão para o descritor de arquivo 2. Em cmd1 | cmd2
, somente o padrão fora de cmd1
foi redirecionado para o padrão de cmd2
.
Como convenção, todas as mensagens de erro e diagnóstico irão para o erro padrão.
Você pode usar strace
para confirmar:
$ strace -e write dstat -dl --float --nocolor 1 1
write(2, "Module dstat_disk24old failed to"..., 83Module dstat_disk24old failed to load. (No suitable block devices found to monitor)) = 83
write(2, "\n", 1
) = 1
write(1, "[7l---load-avg---\n 1m 5m 15m"..., 34---load-avg---
1m 5m 15m
) = 34
write(1, " 0 0 0\n", 15 0 0 0
) = 15
write(1, " 0 0 0\n", 15 0 0 0
) = 15
+++ exited with 0 +++
Você deve redirecionar o erro padrão para o padrão se quiser que o canal capture a saída de erro padrão:
dstat -dl --float --nocolor 1 1 2>&1