shell实现彩色进度条
2017-07-17 17:11
302 查看
Hello,今天分享的是shell实现彩色进度条。
进度条,通过显示字符所占打印字符的比率,字符的数目的增加,以及长度的变化在显示器上模拟出进度条的变化;
下面代码实现的是渐变色,运行时色度不停会发生变化,主要是参数color的变化,随着i的变化,color=32+i%8
,color也在发生变化,所以进度条的颜色在不断发生变化。
进度条最终停止的颜色与i%8加的这个数有关,与color的最终结果有关,加的数不同,最终颜色不同。
字体颜范围30~39
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色 38 39亲测貌似和黑色没有多大差别
如果直接设置颜色, 不设置color变量,直接echo -en “\e[30m” 这样把颜色直接设置成一种,打印时就不会出现渐变颜色的进度条,而是特定的颜色。
下图就是改变加的那个数所得的不同结果:
当然还可以改变底色:
字背景颜色范围40~49
40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 48 49亲测和上面38 39 没有多大区别,白底黑#打印
代码:
不同底色运行结果如下:
进度条,通过显示字符所占打印字符的比率,字符的数目的增加,以及长度的变化在显示器上模拟出进度条的变化;
下面代码实现的是渐变色,运行时色度不停会发生变化,主要是参数color的变化,随着i的变化,color=32+i%8
,color也在发生变化,所以进度条的颜色在不断发生变化。
进度条最终停止的颜色与i%8加的这个数有关,与color的最终结果有关,加的数不同,最终颜色不同。
字体颜范围30~39
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色 38 39亲测貌似和黑色没有多大差别
如果直接设置颜色, 不设置color变量,直接echo -en “\e[30m” 这样把颜色直接设置成一种,打印时就不会出现渐变颜色的进度条,而是特定的颜色。
i=0 str='' index=0 label=('|' '/' '-' '\\') while [ $i -le 100 ] do let index=i%4 let color=32+i%8 echo -en "\e[1;"$color"m" printf "[%-100s][%d%%][%c]\r" "$str" "$i" "${label[$index]}" str='#'$str sleep 0.1 let i++ done echo -e "\e[1;m"
下图就是改变加的那个数所得的不同结果:
当然还可以改变底色:
字背景颜色范围40~49
40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 48 49亲测和上面38 39 没有多大区别,白底黑#打印
代码:
i=0 str='' index=0 label=('|' '/' '-' '\\') while [ $i -le 100 ] do let index=i%4 echo -en "\e[43m" //可更改43 为40~49之间的其他数字,改变底色 printf "[%-100s][%d%%][%c]\r" "$str" "$i" "${label[$index]}" str='#'$str sleep 0.1 let i++ done echo -e "\e[1;m"
不同底色运行结果如下:
相关文章推荐
- linux--shell脚本实现一个彩色进度条
- liunx下 采用shell实现彩色进度条
- 【shell脚本】脚本实现彩色进度条
- LInux:shell 彩色进度条实现(有图有代码有真相!!!)
- shell脚本实现彩色进度条
- shell脚本--实现彩色进度条
- shell脚本实现彩色进度条
- linux脚本编程之shell实现彩色进度条
- shell脚本实现一个彩色进度条
- Linux下实现一个简单进度条和shell脚本实现彩色进度条
- shell基本语法及实现彩色进度条
- shell进度条实现
- shell中实现进度条效果
- Shell 彩色进度条
- 在Linux下实现彩色进度条
- Shell中实现进度条程序
- shell脚本实现进度条功能
- 实现彩色进度条
- shell脚本实现一个彩色的进度条
- cp显示进度条 —纯shell实现方法