shell原地更新终端输出信息

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell原地更新终端输出信息相关的知识,希望对你有一定的参考价值。

文章目录

前言

有时我们需要更新同一行输出信息,而不是输出新行,如进度显示。两种实现方法:

输出退格符\\b,清除该行输入字符

输出回车符\\r,然后覆盖已输出的字符

执行清屏命令, printf “\\033c”.

对于第1种实现,该行已输出多少字符,需要刚好输出相同数量的\\b,以防止某些终端实现把上一行的回车也吃掉了。可使用printf()的返回值得到已输出字符数。

对于第2种实现,输出的新字符数量必须不少于已输出的,以完全覆盖之前的输出。

第三种最彻底。

本文分别给出C语言和Shell的实现例子。

C语言实现

#include <stdio.h>
#include 

以上是关于shell原地更新终端输出信息的主要内容,如果未能解决你的问题,请参考以下文章

一、用命令了解树莓派

linux shell 将命令行终端输出结果写入保存到文件中

Android C++系列:Linux进程间关系

Shell登陆

Linux从Shell启动app时,shell窗口总会输出一大堆信息,如何关掉这些信息的显示

Linux shell编程:管道和重定向