stdout - 如何使任何 shell 命令的输出不缓冲?

标签 stdout buffering

有没有办法在没有输出缓冲的情况下运行 shell 命令?

例如,hexdump 文件 | ./my_script 只会以缓冲 block 的形式将输入从 hexdump 传递到 my_script,而不是逐行传递。

实际上我想知道如何使任何命令无缓冲的通用解决方案?

最佳答案

尝试 stdbuf,它包含在 GNU coreutils 中,因此几乎可以包含在任何 Linux 发行版中。这会将输入、输出和错误的缓冲区长度设置为零:

stdbuf -i0 -o0 -e0 command

关于stdout - 如何使任何 shell 命令的输出不缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3465619/

相关文章:

python - python 中是否有用于写入文件的 COMMIT 模拟?

perl - 当迭代进入 foreach 循环时打印不起作用

c++ - 漂亮地将解析树打印到标准输出?

Swift 使用 NSTimer 时无法输出

GSTREAMER 在事件前访问视频

具有交互和映射的 Haskell IO

c++ - 使用 C++ 将 STDIN 数据读入控制台应用程序的最快方法是什么

bash - 后台进程完成后如何获取标准输出消息?

mpirun 保留重定向的标准输出