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

来源:互联网 发布:免费视频编辑软件排行 编辑:程序博客网 时间:2024/06/05 23:55

实现代码:

########################################################################## File Name: procbar.sh# Author: liumin# mail: 1106863227@qq.com# Created Time: Sun 02 Jul 2017 09:21:46 AM CST##########################################################################!/bin/bashnum=0str='#'max=100pro=('|' '/' '-' '\')while [ $num -le $max ]do((color=30+num%8))echo -en "\e[1;"$color"m"let index=num%4printf "[%-100s %d%% %c]\r" "$str" "$num" "${pro[$index]}"let num++sleep 0.1str+='#'doneprintf "\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采用了取模运算, 是为了让进度条八种颜色不断变换达到彩色效果。



原创粉丝点击