我读过的重定向时stdout和stderr同一个文件使用2>&1,stdout通常,嵌段缓冲,而stderr不是缓冲。
如果写入了很长的一行stdout,需要两次单独刷新缓冲区,是否会发生一行从stderr中间滑落?像这样的东西:
stdout: aaaaaaaa.....really long line......aaaaaaaaaaaa<newline>
stderr: eee<newline>
combined: aaaaaaaaaaaaaaaaeee<newline>
aaaaaaa<newline>
Run Code Online (Sandbox Code Playgroud)