如何在Shell脚本中添加简单的进度栏

有时,我们需要编写交互式的Shell脚本,并且用户执行它们需要监视进度。对于此类要求,我们可以实现一个简单的进度条,该进度条给出了有关脚本已完成多少任务或脚本已执行多少的想法。

要实现它,我们只需要使用带有以下选项和反斜杠转义字符的“ echo”命令。

-n:不添加换行符
-e:启用反斜杠转义的解释\ 
r:回车(返回到行的开头而不打印换行符)

为了便于理解,我们将使用“ sleep 2”命令来表示正在进行的任务或shell脚本中的步骤。在实际情况下,这可能类似于下载文件,创建备份,验证用户输入等。此外,举一个例子,我们假设下面的脚本中只有四个步骤,这就是为什么我们使用20、40、60, 80(%)作为进度指示器。可以根据脚本中的步骤数进行调整。例如,可以用33,66,99(%)表示具有三个步骤的脚本,或者可以将10-90(%)表示具有十个步骤的脚本作为进度指示器。

该实现如下所示:

echo -ne '>>>                       [20%]\r'
# some task
sleep 2
echo -ne '>>>>>>>                   [40%]\r'
# some task
sleep 2
echo -ne '>>>>>>>>>>>>>>            [60%]\r'
# some task
sleep 2
echo -ne '>>>>>>>>>>>>>>>>>>>>>>>   [80%]\r'
# some task
sleep 2
echo -ne '>>>>>>>>>>>>>>>>>>>>>>>>>>[100%]\r'
echo -ne '\n'

实际上,每次执行“ echo”命令时,它将替换终端中前一个“ echo”命令的输出,因此代表一个简单的进度条。最后一个“ echo”命令只需在终端中输入换行符(\ n)即可继续为用户提示。

执行如下所示:

image.png


标签: shell

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:如何使用OpenSSL和SSL证书保护您的网站
下一篇:微信引流加好友单页网站html源码

发表评论

vidnami 在线视频创作工具--做海外推广营销视频必备工具

image.png


我们的折扣优惠是向观众推广Vidnami的绝妙方式。他们将即时访问 25% 的 Vidnami, 再加上我们的视频营销包免费。最棒的是,您将获得所有销售额的50%!

https://www.vidnami.com/c/Mr_xiaoxiao-vn-buy-discount 

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱