Linux中断中退格符的巧妙使用 - 动态显示进度

0.前言

        每次使用scp或者wget时就比较好奇,为什么可以动态的显示进度,而不是每个进度状态打印一行,偶然间重新留意到echo 中的特殊字符 - 退格符,才豁然开朗,所以写了一个脚本来验证自己的想法。想实现上面的效果其实很简单,只需要如下几行代码:

1.echo介绍

echo用来显示一行文本信息。echo的语法如下:

echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION

通过上述的格式实现字符串的标准输出,其中常用的参数有如下三个:

-ndo not output the trailing newline
-eenable interpretation of backslash escapes
-Edisable interpretation of backslash escapes (default)

        从上表中可以看出,默认情况下echo都是带-E参数的,而为了能够实现上面的效果,需要使用特殊字符,想要使特殊字符生效,则需要添加-e参数,就如上面的代码写的那样。

2.特殊字符

\\backslash
\aalert (BEL)
\bbackspace
\cproduce no further output
\eescape
\fform feed
\nnew line
\rcarriage return
\thorizontal tab
\vvertical tab

        上述程序的主角就是\b,用来表示退格。在上一次显示完成后,sleep一段时间,然后退格更新数据,这样从视觉上就达到了动态显示的效果。

        此外,上述代码中末尾的\c表示echo的文本末尾不加换行符(\n),使用第一节中的-n参数也能达到类似的效果。这里就不展示了。

3.参考:

man echo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值