shell脚本实现多彩进度条

发布时间 - 2026-01-11 02:10:03    点击率:

先贴代码

#!/bin/bash
i=0;
str=""
arr=("|" "/" "-" "\\")
while [ $i -le 100 ]
do
  let index=i%4
  let indexcolor=i%8
  let color=30+indexcolor
  printf "\e[0;$color;1m[%-100s][%d%%]%c\r" "$str" "$i" "${arr[$index]}"
  sleep 0.1
  let i++
  str+='='
done
printf "\n"

没错代码就这么简单 其实前面的都差不多就是下面的输出时颜色控制线面我们就介绍一下颜色控制的原理

终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,故通常以'ESC'和左括号'[‘开头。该起始序列称为控制序列引导符(CSI,Control Sequence Intro),通由‘\033['或‘\e['代替。
通过转义序列设置终端显示属性时,可采用以下格式:

\033[ Param {;Param;…}m 或 \e[ Param {;Param;…}m 

其中,‘\033['或‘\e['引导转义序列,‘m'表示设置属性并结束转义序列。Param为属性值,{…}表示可选(多个参数之间用分号隔开,与顺序无关)。 转义序列相关的常用参数如下(通过man console_codes命令可查看更多的参数描述):

显示: 0(默认)、1(粗体/高亮)、22(非粗体)、4(单条下划线)、24(无下划线)、5(闪烁)、25(无闪烁)、7(反显、翻转前景色和背景色)、27(无反显)

颜色: 0(黑)、1(红)、2(绿)、 3(黄)、4(蓝)、5(洋红)、6(青)、7(白)

前景色为30+颜色值,如31表示前景色为红色;背景色为40+颜色值,如41表示背景色为红色。

设置格式:

\033[显示方式;前景色;背景色m输出字符串\033[0m 或

\e[显示方式;前景色;背景色m输出字符串\033[0m

部分内容来自网络,代码来由自己编写,有问题请评论

以上所述是小编给大家介绍的shell脚本实现多彩进度条,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# shell脚本实现进度条  # shell 进度条实现代码  # linux shell进度条实现方法  # shell进度条追踪指令执行时间的场景分析  # Shell脚本实现进度条的两种方式  # shell 编写一个带有进度条的程序安装脚本  # 背景色  # 前景色  # 下划线  # 小编  # 粗体  # 多个  # 在此  # 给大家  # 可选  # 查看更多  # 介绍一下  # 所述  # 给我留言  # 感谢大家  # 常以  # 单条  # 疑问请  # 有任何  # 进度条  # 就这么 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Android利用动画实现背景逐渐变暗  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  C++时间戳转换成日期时间的步骤和示例代码  如何在Windows 2008云服务器安全搭建网站?  phpredis提高消息队列的实时性方法(推荐)  长沙企业网站制作哪家好,长沙水业集团官方网站?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  英语简历制作免费网站推荐,如何将简历翻译成英文?  Laravel如何实现API速率限制?(Rate Limiting教程)  高端建站如何打造兼具美学与转化的品牌官网?  HTML 中动态设置元素 name 属性的正确语法详解  JavaScript中的标签模板是什么_它如何扩展字符串功能  如何在Ubuntu系统下快速搭建WordPress个人网站?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何在IIS7上新建站点并设置安全权限?  Swift中循环语句中的转移语句 break 和 continue  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  JS中对数组元素进行增删改移的方法总结  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  iOS验证手机号的正则表达式  如何在局域网内绑定自建网站域名?  海南网站制作公司有哪些,海口网是哪家的?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  如何在香港免费服务器上快速搭建网站?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel怎么使用Intervention Image库处理图片上传和缩放  jQuery中的100个技巧汇总  JS去除重复并统计数量的实现方法  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  免费网站制作appp,免费制作app哪个平台好?  Java垃圾回收器的方法和原理总结  如何快速辨别茅台真假?关键步骤解析  如何安全更换建站之星模板并保留数据?  如何实现javascript表单验证_正则表达式有哪些实用技巧  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Python文件流缓冲机制_IO性能解析【教程】  如何用wdcp快速搭建高效网站?  Laravel storage目录权限问题_Laravel文件写入权限设置  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制