Shell脚本下的彩色进度条

shell中printf的彩色方案

颜色是通过添加专用序列来选择的 – 夹在 “\e[“和 “m”之间的数字。如果指定一个以上的数字,则用分号将它们分开。
echo -e “\e[31;42m”

使用”\e[0m”序列将颜色重新设置为正常值
颜色分类
\e[30m – \e[37m 设置前景色(字体颜色)
echo -e “\e[30m” 灰色
echo -e “\e[31m” 红色
echo -e “\e[32m” 绿色
echo -e “\e[33m” 黄色
echo -e “\e[34m” 蓝色
echo -e “\e[35m” 紫色
echo -e “\e[36m” 淡蓝色
echo -e “\e[37m” 白色
\e[40m – \e[47m 设置背景色
echo -e “\e[40m” 灰色
echo -e “\e[41m” 红色
echo -e “\e[42m” 绿色
echo -e “\e[43m” 黄色
echo -e “\e[44m” 蓝色
echo -e “\e[45m” 紫色
echo -e “\e[46m” 淡蓝色
echo -e “\e[47m” 白色
其他的一些参数
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m – \033[37m 设置前景色
\033[40m – \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标

#! /bin/bash

bar=''
lable=('|' '/' '-' '\\')
for i in {0..100}
do
    ((color=30+i%8))       #控制进度条颜色
    echo -en "\e[1;"$color"m"  
    printf "[%-100s]\033[1;32m [%d]\033[1;36m%%\033[1;34m [%c]\033[0m \r" "$bar" "$i" "${lable[$index]}"
    bar='#'$bar    
    let index=i%4
    let index++
    usleep 100000
done
printf "\n"

效果如下
这里写图片描述
这里写图片描述

这是一个颜色时刻变化的进度条,如果想要单色只需更改下列代码即可

((color=30+i%8))       #控制进度条颜色
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值