我们在使用 Linux 系统时会常常看到一些命令, 程序脚本能够实时地刷新输出地信息, 而不是每次通过新的一行输出信息, 这样我们就能够一方面动态地显示程序运行的进度, 另一方面尽量地精简屏幕上的输出信息, 从而使得我们对结果有更好的把握.
我在实现一些分析流程后发现自己在循环中使用 echo 命令输出地信息太多, 一些我需要注意的信息早就不知道被刷新到哪里去了. 所以我想做一些优化, 对于循环的信息显示尽量在同一行刷新.
下面是 Shell 实现的例子, 通过回车键 \ r 不断地覆盖当前的输出, 具体我们根据需求更改:
- #!/bin/bash
- for i in {1..100}
- do
- printf "\rprocess = %%" $i
- sleep 1
- done
- # print a new line
- echo
来源: http://www.jianshu.com/p/e34c84656c0b