shell脚本之创建彩色进度条

Posted Luella_G

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本之创建彩色进度条相关的知识,希望对你有一定的参考价值。

之前的博客中也有写过进度条小程序:[http://blog.csdn.net/superficial_/article/details/69787027]

这次的进度条是基于shell脚本编写的,原理基本相似,不过多赘述,其代码如下:

#!/bin/bash

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

这次的进度条比之前多加了颜色,带颜色的格式输出为: 
echo -e “\\033字背景颜色;字体背景颜色m 字符串 \\033[0m”

颜色相关的命令 
重新设置属性到缺省设置 
1 设置粗体 
2 设置一半亮度(模拟彩色显示器的颜色) 
4 设置下划线(模拟彩色显示器的颜色) 
5 设置闪烁 
7 设置反向图象 
8 消隐 
22 设置一般密度 
24 关闭下划线 
25 关闭闪烁 
27 关闭反向图象

// 字体颜范围(前景颜色):30~39 
30:黑 
31:红 
32:绿 
33:黄 
34:蓝色 
35:紫色 
36:深绿 
37:白色 
38:在缺省的前景颜色上设置下划线 
39:在缺省的前景颜色上关闭下划线

// 字背景颜色范围(背景颜色):40~47 
40:黑 
41:深红 
42:绿 
43:黄色 
44:蓝色 
45:紫色 
46:深绿 
47:白色

nA 光标上移n行 
nB 光标下移n行 
nC 光标右移n行 
nD 光标左移n行 
y;xH设置光标位置 
2J 清屏 
K 清除从光标到行尾的内容 
s 保存光标位置 
u 恢复光标位置 
?25l 隐藏光标 
?25h 显示光标

以上是关于shell脚本之创建彩色进度条的主要内容,如果未能解决你的问题,请参考以下文章

shell进度条怎么显示脚本执行进度

shell脚本实现转圈、进度条等效果

如何在 shell 脚本中添加进度条?

shell脚本实现进度条

进度条——shell脚本实现

shell脚本,如何写进度条。