shell原地更新终端输出信息
Posted 奇妙之二进制
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell原地更新终端输出信息相关的知识,希望对你有一定的参考价值。
文章目录
前言
有时我们需要更新同一行输出信息,而不是输出新行,如进度显示。两种实现方法:
输出退格符\\b,清除该行输入字符
输出回车符\\r,然后覆盖已输出的字符
执行清屏命令, printf “\\033c”.
对于第1种实现,该行已输出多少字符,需要刚好输出相同数量的\\b,以防止某些终端实现把上一行的回车也吃掉了。可使用printf()的返回值得到已输出字符数。
对于第2种实现,输出的新字符数量必须不少于已输出的,以完全覆盖之前的输出。
第三种最彻底。
本文分别给出C语言和Shell的实现例子。
C语言实现
#include <stdio.h>
#include
以上是关于shell原地更新终端输出信息的主要内容,如果未能解决你的问题,请参考以下文章
linux shell 将命令行终端输出结果写入保存到文件中