有没有办法在没有输出缓冲的情况下运行 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/