Я читал, что при перенаправлении stdout
и stderr
в один и тот же файл 2>&1
, stdout
как правило, буферизируется блок, а не буферизируется stderr
.
Если записана очень длинная строка stdout
, требующая двух отдельных очисток буфера, может ли получиться так, что строка stderr
поскальзывается посередине? Что-то вроде этого:
stdout: aaaaaaaa.....really long line......aaaaaaaaaaaa<newline>
stderr: eee<newline>
combined: aaaaaaaaaaaaaaaaeee<newline>
aaaaaaa<newline>
shell
io-redirection
stdout
stderr
Даниэль Диас Каррет
источник
источник