【shell脚本】脚本实现彩色进度条

3 篇文章 0 订阅

实现代码:

#########################################################################
# File Name: procbar.sh
# Author: liumin
# mail: 1106863227@qq.com
# Created Time: Sun 02 Jul 2017 09:21:46 AM CST
#########################################################################
#!/bin/bash

num=0
str='#'
max=100
pro=('|' '/' '-' '\')
while [ $num -le $max ]
do
	((color=30+num%8))
	echo -en "\e[1;"$color"m"
	let index=num%4
	printf "[%-100s %d%% %c]\r" "$str" "$num" "${pro[$index]}"
	let num++
	sleep 0.1
	str+='#'
done
printf "\n"
echo -e "\e[1;30;m"

进度条的原理在之前的博客有写过: http://blog.csdn.net/qq_35409955/article/details/55505691

这里主要详解进度条颜色设置:

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e ,-n表示不换行

echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"

注: 
  1、字背景颜色和文字颜色之间是英文的"" 
  2、文字颜色后面有个m 
  3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 

其中m取值:

30      黑色
31      红色
32      绿色
33      黄色
34      蓝色
35      紫红色
36      青蓝色
37      白色

这里的m值也就是color采用了取模运算, 是为了让进度条八种颜色不断变换达到彩色效果。



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值