Eu li que ao redirecionar stdout
e stderr
para o mesmo arquivo usando 2>&1
, stdout
geralmente é bloqueado em buffer enquanto não stderr
é armazenado em buffer.
Se uma linha muito longa for gravada stdout
, exigindo duas descargas separadas do buffer, pode acontecer que uma linha stderr
deslize no meio? Algo assim:
stdout: aaaaaaaa.....really long line......aaaaaaaaaaaa<newline>
stderr: eee<newline>
combined: aaaaaaaaaaaaaaaaeee<newline>
aaaaaaa<newline>
shell
io-redirection
stdout
stderr
Daniel Díaz Carrete
fonte
fonte