gpt4 book ai didi

bash - 在 bash 中,如何强制刷新打印到终端的不完整行

转载 作者:行者123 更新时间:2023-11-29 09:46:42 24 4
gpt4 key购买 nike

我正在编写一个脚本,它执行如下操作:

echo -n "Doing stuff, wait for it... "
do_stuff
(($?==0)) && echo SUCCESS || echo FAILURE

请原谅糟糕的 bash 技能。无论如何,问题是在 do_stuff 完成之前不会打印该行的第一部分 - 虽然对我来说重要的是用户知道我接下来要运行什么。这对我来说很重要,因为我很迂腐,不打印换行符。因此,文本在缓冲区中并且不会被刷新。

This question非常相似,但是 OP 很满意,嗯,事情基本上就是这样。我不是。如果迫在眉睫,我什至愿意使用与诅咒相关的东西(但请记住,毕竟这是一个 shell 脚本)。

最佳答案

我认为适当的做法是关闭缓冲:

stdbuf -i0 -o0 -e0 <command>


i = stdin
o = stdout
e = stderr

在您的特定情况下,您只需要 -o0 作为标准输出。

关于bash - 在 bash 中,如何强制刷新打印到终端的不完整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36847897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com