Shell中实现进度条的小脚本

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:57   1307   0

用其他编程语言可以实现进度条的显示,其实在Shell脚本中也可以实现进度条显示。下面是个进度条的简单示例

#/bin/bash

progress_bar=''          
for i in {0..100..2}
do
    printf "process:[%-50s]%d%%\r" $progress_bar $i
    sleep 0.2
    progress_bar=#${progress_bar}
done
echo ""

这样,就会显示出类似于下面的进度条效果

process:[#####               ]10%

对上面的那段小代码,简单解释一下:

  • 先定义process_bar为空,后依次加#,递增
  • 0到100之间,每次递增2,所以进度条使用%-50s来显示,其中-代表左对齐。50是字符串宽度
  • %d来显示进度条的i,%%则代表百分号
  • \r回车
  • sleep 0.2每次间隔0.2秒
  • echo "" 起到换行作用
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP