Shell下的进度条

来源:互联网 发布:私募公募 知乎 编辑:程序博客网 时间:2024/05/16 06:21

在Shell脚本下的进度条的原理和用C语言下原理是一样的,尅参看上一篇中他们进度条中换行与回车的原理C语言实现的进度条

现在在Shell脚本中实现的一个进度条其实就是除了语法以外别的都基本差不多,所以,在原来单调的颜色上家了一些变色;

字背景颜色范围:40----4940:黑41:深红42:绿43:黄色44:蓝色45:紫色46:深绿47:白色字颜色:30-----------3930:黑31:红32:绿33:黄34:蓝色35:紫色36:深绿37:白色============ANSI控制码的说明 ===============33[0m 关闭所有属性33[1m 设置高亮度33[4m 下划线33[5m 闪烁33[7m 反显33[8m 消隐33[30m -- 33[37m 设置前景色33[40m -- 33[47m 设置背景色33[nA 光标上移n行33[nB 光标下移n行33[nC 光标右移n行33[nD 光标左移n行33[y;xH设置光标位置33[2J 清屏33[K 清除从光标到行尾的内容33[s 保存光标位置33[u 恢复光标位置33[?25l 隐藏光标33[?25h 显示光标

下面实现的是一个在随着进度条增长时,就会发生颜色变换的一个彩色的例子:

i=0bar=""arr=("|" "/" "-" "\\")while [ $i -le 100 ]do    ((color=30+i%8))    echo -en "\e[1;"$color"m"    let index=i%4    printf "[%-100s][%d%%][%c]\r" "$bar" "$i" "${arr[index]}"    bar+="#"    let i++    sleep 0.1doneecho ''echo -e "\e[1;37;m"
原创粉丝点击