前言

之前有小伙伴留言说,有没有那种花里胡哨的东西,比如进度条,今天他来了。

思路

1. 进度条的组成

进度条由 五个字符组成:

主进度条: #
花里胡哨的转圈圈: | \ - /

#号用于生成进度:



| \ - / 这四个用于在百分比后面转圈

2. 进度条的进度

一共是100%, 我们按照 每次增加4%的速度往上增加, 即: 0% ,4% 8%,12%,一直到百分百。
定义i =0 ; $i*4就表示每次增加4
i 每次增加1 let i++
每增加4% 我们就打印一个井号。

这张图里: 0%, 4%,8%,12%, 一共打印了4个#号。

3. 花里胡哨的转圈圈

同样的 我们把 | \ - / 定义为一个数组 ch=(’|’ ‘’ ‘-’ ‘/’),取值 ch[0] ,ch[1] ,ch[2]. ch[3]

为了防止出现 ch[5] 超出索引值。 我们让索引值每次都商4, 这样就可以确保不会出现5的索引。
取索引: ch[$index]
如何商4: let index= i%4

4. 需要打印的内容

printf "[%-25s][%d%%][%c]\r" $str $(($i*4)) ${ch[$index]}


ch[$index] 打印四个符号,每次取值一个,看上去像转圈。

代码源码

#!/bin/bash
i=0
str='#'
ch=('|' '\' '-' '/')
index=0
while [ $i -le 25 ]
doprintf "[%-25s][%d%%][%c]\r" $str $(($i*4)) ${ch[$index]}str+='#'let i++let index=i%4sleep 0.1
done
printf "\n"
echo "安装完成"

总结

使用shell实现一个进度条的简单版,其实还有很多很好的方案,但对于一个追求完美的人来说,每个方案都有相应的不足。

【shell实战】使用shell实现一个进度条相关推荐

  1. vue aplayer 进度条无法拖动_为 Vue 的惰性加载加一个进度条

    // 每日前端夜话 第412篇// 正文共:1800 字// 预计阅读时间:8 分钟 简介 通常用 Vue.js 编写单页应用(SPA)时,当加载页面时,所有必需的资源(如 JavaScript 和 ...

  2. [html] 如何使用纯html制作一个进度条?

    [html] 如何使用纯html制作一个进度条? HTML中的progress () 元素用来显示一项任务的完成进度.虽然规范中没有规定该元素具体如何显示,浏览器开发商可以自己决定,但通常情况下,该元 ...

  3. 从零开始学PowerShell(8)创建一个进度条

    我相信不少人会遇到这类情况,通常在执行一些大批量操作时,代码正在后台持续执行,你又没有为每个细节设置详尽的输出的话,你也不知道到底是脚本卡死了还是正在运行,因为没有任何响应反馈. 应对这种情况,要是我 ...

  4. html动态资源加载进度,JavaScript_快速解决js动态改变dom元素属性后页面及时渲染的问题,今天实现一个进度条加载过程 - phpStudy...

    快速解决js动态改变dom元素属性后页面及时渲染的问题 今天实现一个进度条加载过程,dom结构其实就是两个div 控制里层div的宽width属性,就能实现进度条往前走的效果. 我的进度条是显示下载文 ...

  5. bootstraptable treeGrid 懒加载_为 Vue 的惰性加载加一个进度条

    简介 通常用 编写单页应用(SPA)时,当加载页面时,所有必需的资源(如 JavaScript 和 CSS 文件)都会被一起加载.在处理大文件时,这可能会导致用户体验不佳. 借助 Webpack,可以 ...

  6. matlab画图环形颜色渐变,Core Animation实战之环形颜色渐变进度条

    小弟才疏学浅,第一次写简书文章,内容难免有错误或者不妥,欢迎大家来指点江山... 先来看一下最终的效果: 特点:圆环是顺时针旋转,旋转的过程中,始终保持圆环的开始端颜色最浅(白色),圆环的结尾是最深( ...

  7. Android拖动进度条画面随动,ftk学习记录(一个进度条文章)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 首先.在開始今天的文章之前.我们还是给朋友们展示一下前面一段代码的执行效果.效果例如以下, w ...

  8. Android中用图片自定义一个进度条(实现蒙板效果)

    问题概述 对于进度条我相信大家不陌生,这里我就不再多说什么了.因为这个不是重点.我们要说的是如何去自定义一个不一样的进度条.这里用到两张图片(背景和前景),其实是三张(背景.前景和蒙图).当我们的蒙图 ...

  9. 直播类app开发,实现一个进度条效果

    进度条是很多软件中必须存在的效果,今天我们就看看直播类app开发实现的进度条效果. 效果&使用 图例分别为: 修改读条起点为y轴正方向 消失性读条 正常读条 使用: 1 在xml中添加控件 & ...

最新文章

  1. PHP使用PDO方式的经验总结:连接 增删改查
  2. 垃圾回收机制之复制算法
  3. 关于Xcode 7.3 7.3.1 断点 卡死 无限菊花
  4. JavaScript(四)—— JavaScript 内置对象/JavaScript 简单数据类型与复杂类型
  5. 阿里第三财季:下沉市场再立功 疫情之下祸福相依
  6. 服务器上文件夹没有共享,服务器没有共享文件夹
  7. Atitit  atiMail atiDns新特性 v2  q39
  8. ATV 开发 三 DRM技术简介
  9. Python爬虫入门教程 68-100 一招解决爬虫程序卡死问题
  10. qcom usb驱动下载_艾肯Mobile Q驱动下载
  11. Win10 远程桌面登陆闪退问题处理
  12. 【ENSP模拟器】RIP(HCNP)——RIPv2的配置及实现
  13. 4.4-软件开发中,“UI设计图”的作用与绘制方法说明
  14. 算法竞赛宝典 递归算法 地盘划分
  15. 红孩儿编辑器的模块设计12
  16. centos执行yum命令报错,There are no enable repos
  17. Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片
  18. 目前 计算机硬件系统,计算机硬件系统练习题.doc
  19. 9 个超实用的 JavaScript 原生插件工具
  20. poi jar包报错:java.lang.NoSuchFieldError:Factory

热门文章

  1. SQL的replace函数——替代某字符
  2. 如何将中国知网CNKI中的文献导入EndNote X6
  3. 专插本C语言入门第一天
  4. 电商小程序的发展以及优势、劣势分析
  5. 各数据库SQL语句差异
  6. 阿里云免费证书DV SSL申请过程记录
  7. 3.29-30黄金!黄金走势分析黄金、原油纸白银解套在线!
  8. win10 无限闪屏闪桌面
  9. 五大BaaS后端云服务(转)
  10. ansible--Playbook剧本