美文网首页Linux学习|Gentoo/Arch/FreeBSD我用 LinuxLinux学习之路
【Shell笔记>转载|实用】原地更新终端输出信息

【Shell笔记>转载|实用】原地更新终端输出信息

作者: 王诗翔 | 来源:发表于2018-04-09 13:30 被阅读121次

    我们在使用Linux系统时会常常看到一些命令、程序脚本能够实时地刷新输出地信息,而不是每次通过新的一行输出信息,这样我们就能够一方面动态地显示程序运行的进度,另一方面尽量地精简屏幕上的输出信息,从而使得我们对结果有更好的把握。

    我在实现一些分析流程后发现自己在循环中使用echo命令输出地信息太多,一些我需要注意的信息早就不知道被刷新到哪里去了。所以我想做一些优化,对于循环的信息显示尽量在同一行刷新。

    下面是Shell实现的例子,通过回车键\r不断地覆盖当前的输出,具体我们根据需求更改:

    #!/bin/bash
    
    for i in {1..100}
    do
        printf "\rprocess %3d %%" $i
        sleep 1
    done
    
    # print a new line
    echo
    

    原文地址:https://blog.csdn.net/yueyuanchang/article/details/43077997 (原文还提供了一个C代码实现,有兴趣的可以看一看。)

    相关文章

      网友评论

        本文标题:【Shell笔记>转载|实用】原地更新终端输出信息

        本文链接:https://www.haomeiwen.com/subject/alqihftx.html