LINUX命令行脚本编程的一个小技巧
如果是长时间运行跑循环,那么,在每个循环的刚开始的时候,输出 \x1b[2K\r
然后,再输出其他的信息,
这个循环里可能会有两种情况,一是有重点信息需要输出,一种是不需要输出重要信息。
那么,只需要在,需要输出重要信息的时候,输出\n,这行信息会被保留,否则的话,会在下一次循环,被\x1b[2K\r覆盖掉。
不知道说的够明白了没有。
一个简单的演示:
https://pastebin.com/XtmSwMkv
已经用了好些年了,正好解决了前面这个MJJ的需求
https://hostloc.com/thread-1157799-1-1.html
也就是:
既知道程序的运行状态(也就是每次循环都输出了信息)
也不要让过多的无用信息把屏幕给占了(如果当前循环的信息无用,就在下次循环给覆盖掉) 笑死我,你是不是不懂用tee啊是不是不懂用screen啊是不是不懂用重定向啊 就是每次清屏再从头输出? \x1b[2K 的意思是清除所在行的所有内容
\r 是把光标移动回当前行的开头
这两个连起来用就是“清屏再从头输出”,只清除当前行
页:
[1]