如何用shell命令刷新

MOH*_*MED 6 c linux bash shell

是否有相当于fflush()shell命令的C函数?

echo "kkkk"
flush <<< are there some command to execute to flush stdout?
Run Code Online (Sandbox Code Playgroud)

ams*_*ams -3

不,你永远不需要它。

当程序(例如echo)退出时,所有输出数据都会自动刷新。如果程序还没有退出,那么刷新是内部事务,与 shell 无关。

  • 嗯,echo 是 bash 内置的 (4认同)
  • @ams:不正确,管道创建了一个 4K 缓冲区,因此输出*仅*在达到 4K 时才会发送到“tee”。这将延迟打印,并需要更快地刷新缓冲区。`stdbuf` 可以做到这一点(GNU coreutils)。 (3认同)
  • 例如,如果通过“tee”进行管道传输,则可以缓冲输出。所以它并不总是_自动_刷新。 (2认同)
  • 如果您在脚本中通过管道传输命令块,则输出将使用 4K 缓冲区进行缓冲。输出将会延迟。 (2认同)