linux之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

i=0
bar=''
lable=('|' '/' '-' '\\')
while [ $i -le 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 i++
	let index++
	let index=i%4
	usleep 100000
done
printf "\n"

3、运行结果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值