我遇到了一个bash脚本的问题,该脚本被重复执行一个程序(不是我自己的),并将每次执行的输出追加到文本文件中。Linux stdout stderr重定向到文件:与终端输出不同
#!/bin/bash
for run in {1..100}
make prog >> log.txt 2>&1
done
到目前为止好。问题是,在执行此操作之后,log.txt的内容与程序通常生成的终端输出非常不同。输出和错误之间 程序的输出交替,以便在终端上它可能是这个样子:
stdout- stderr- stdout- 标准错误 - ...
等。现在在文本文件中,而不是这个,stdout和stderr消息的大块“块”集中在一起。例如。在文件的开始处可能有10行stdout-output,接着是10行stderr-output,等等。
我想这是某种缓冲问题。我如何解决这个问题?
任何形式的帮助,将不胜感激。
可能重复此http://stackoverflow.com/q/3465619/5303401和这个http://stackoverflow.com/q的/ 1429951/5303401 – ozy