在 bash 或 *NIX 中的任何其他 shell 中编写脚本时,如果运行的命令需要花费几秒钟的时间,则需要进度条。
例如,复制大文件、打开大 tar 文件。
您建议使用哪些方法向 shell 脚本添加进度条?
您可以通过覆盖一行来实现这一点。使用\r
返回行首而不写入\n
到航站楼。
Write \n
当你完成推进线时。
Use echo -ne
to:
- 不打印
\n
and
- 识别转义序列,例如
\r
.
这是一个演示:
echo -ne '##### (33%)\r'
sleep 1
echo -ne '############# (66%)\r'
sleep 1
echo -ne '####################### (100%)\r'
echo -ne '\n'
在下面的评论中,puk 提到如果您从长行开始然后想写短行,则会“失败”:在这种情况下,您需要覆盖长行的长度(例如,使用空格)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)