一尘不染

强制shell脚本出错

linux

我想知道是否有可能告诉bash 分别对stdout / stderr的所有调用echoprintf随后的后续调用fflush()

一种快速而又肮脏的解决方案是编写自己的printf实现,并使用它代替内置的任何实现,但是在我看来,我可能不需要这样做。

我正在编写同时运行的多个构建脚本,出于调试的需要,我 确实 需要查看它们按顺序编写的消息。


阅读 252

收藏
2020-06-07

共1个答案

一尘不染

如果命令使用stdio并连接到终端,则会按行刷新它们。否则,您需要在管道http://www.pixelbeat.org/programming/stdio_buffering/中的命令上使用stdbuf之类的东西

tl; dr:而不是printf ...尝试放入脚本中stdbuf -o0 printf ..,或者stdbuf -oL printf ...

2020-06-07