linux shell实现进度条(2018-06-12)

参考了一些网上的资料,自己整理编写了一段shell下实现进度条的办法。

  • 直接上代码
#!/bin/bash
ProgressBar()
{
  local current=$1; local total=$2
  local now=$((current*100/total))
  local last=$(((current-1)*100/total))
  [[ $((last % 2)) -eq 1 ]]&&let last++
  local str=$(for i in `seq 1 $((last/2))`; do printf '#'; done)
  for ((i=$last;$i<=$now;i+=2));do printf "\r[%-50s]%d%%" "$str"  $i;sleep 0.02;str+='#';done
}
for  n in `seq 1 100`
  do
  ProgressBar $n 100
  done
echo
  • 效果如下


    progressbar.gif

printf 参考

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,086评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,003评论 3 119
  • ——狂欢节狂送3000万红包 奥运冠军来助阵 记者:刘军报道 通讯员 肖美玲 德伦口腔七周年来临之际,德伦口腔再次...
    Li_2528阅读 468评论 0 0
  • 好闺蜜恋爱了,作为资深的单身狗,在送上祝福后,也自觉的减少了与她见面的机会和时间,毕竟除了工作以外的时间,她剩下的...
    未央锦绣阅读 189评论 0 0
  • 原来用AutoLayout时总是有一种实用主义的想法,觉得大概是什么意思就好了,能用却不得要领,于是就做了这么一张...
    Job_Yang阅读 530评论 0 0