【shell实战】使用shell实现一个进度条
前言
之前有小伙伴留言说,有没有那种花里胡哨的东西,比如进度条,今天他来了。
思路
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实现一个进度条相关推荐
- vue aplayer 进度条无法拖动_为 Vue 的惰性加载加一个进度条
// 每日前端夜话 第412篇// 正文共:1800 字// 预计阅读时间:8 分钟 简介 通常用 Vue.js 编写单页应用(SPA)时,当加载页面时,所有必需的资源(如 JavaScript 和 ...
- [html] 如何使用纯html制作一个进度条?
[html] 如何使用纯html制作一个进度条? HTML中的progress () 元素用来显示一项任务的完成进度.虽然规范中没有规定该元素具体如何显示,浏览器开发商可以自己决定,但通常情况下,该元 ...
- 从零开始学PowerShell(8)创建一个进度条
我相信不少人会遇到这类情况,通常在执行一些大批量操作时,代码正在后台持续执行,你又没有为每个细节设置详尽的输出的话,你也不知道到底是脚本卡死了还是正在运行,因为没有任何响应反馈. 应对这种情况,要是我 ...
- html动态资源加载进度,JavaScript_快速解决js动态改变dom元素属性后页面及时渲染的问题,今天实现一个进度条加载过程 - phpStudy...
快速解决js动态改变dom元素属性后页面及时渲染的问题 今天实现一个进度条加载过程,dom结构其实就是两个div 控制里层div的宽width属性,就能实现进度条往前走的效果. 我的进度条是显示下载文 ...
- bootstraptable treeGrid 懒加载_为 Vue 的惰性加载加一个进度条
简介 通常用 编写单页应用(SPA)时,当加载页面时,所有必需的资源(如 JavaScript 和 CSS 文件)都会被一起加载.在处理大文件时,这可能会导致用户体验不佳. 借助 Webpack,可以 ...
- matlab画图环形颜色渐变,Core Animation实战之环形颜色渐变进度条
小弟才疏学浅,第一次写简书文章,内容难免有错误或者不妥,欢迎大家来指点江山... 先来看一下最终的效果: 特点:圆环是顺时针旋转,旋转的过程中,始终保持圆环的开始端颜色最浅(白色),圆环的结尾是最深( ...
- Android拖动进度条画面随动,ftk学习记录(一个进度条文章)
[ 声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 首先.在開始今天的文章之前.我们还是给朋友们展示一下前面一段代码的执行效果.效果例如以下, w ...
- Android中用图片自定义一个进度条(实现蒙板效果)
问题概述 对于进度条我相信大家不陌生,这里我就不再多说什么了.因为这个不是重点.我们要说的是如何去自定义一个不一样的进度条.这里用到两张图片(背景和前景),其实是三张(背景.前景和蒙图).当我们的蒙图 ...
- 直播类app开发,实现一个进度条效果
进度条是很多软件中必须存在的效果,今天我们就看看直播类app开发实现的进度条效果. 效果&使用 图例分别为: 修改读条起点为y轴正方向 消失性读条 正常读条 使用: 1 在xml中添加控件 & ...
最新文章
- PHP使用PDO方式的经验总结:连接 增删改查
- 垃圾回收机制之复制算法
- 关于Xcode 7.3 7.3.1 断点 卡死 无限菊花
- JavaScript(四)—— JavaScript 内置对象/JavaScript 简单数据类型与复杂类型
- 阿里第三财季:下沉市场再立功 疫情之下祸福相依
- 服务器上文件夹没有共享,服务器没有共享文件夹
- Atitit atiMail atiDns新特性 v2 q39
- ATV 开发 三 DRM技术简介
- Python爬虫入门教程 68-100 一招解决爬虫程序卡死问题
- qcom usb驱动下载_艾肯Mobile Q驱动下载
- Win10 远程桌面登陆闪退问题处理
- 【ENSP模拟器】RIP(HCNP)——RIPv2的配置及实现
- 4.4-软件开发中,“UI设计图”的作用与绘制方法说明
- 算法竞赛宝典 递归算法 地盘划分
- 红孩儿编辑器的模块设计12
- centos执行yum命令报错,There are no enable repos
- Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片
- 目前 计算机硬件系统,计算机硬件系统练习题.doc
- 9 个超实用的 JavaScript 原生插件工具
- poi jar包报错:java.lang.NoSuchFieldError:Factory