初级版本(原始进度条):
#!/bin/bash echo "hello" printf "\n" sleep 3 i=0 bar='' lable=('|' '\\' '-' '/') while [ $i -le 100 ] do #echo $i printf "[%-100s][%d%%][%c]\r" "$bar" "$i" "${lable[$i%4]}" bar='#'$bar let i++ sleep 0.2 done printf "\n"效果图: 升级版本(彩色的进度条): 背景知识:
字背景颜色范围:40—-49 40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色
字颜色:30———–39 30:黑 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 显示光标
#!/bin/bash i=0 str="" label=('|' '/' '-' '\\') index=0 while [ $i -le 100 ] do let index=i%4 printf "\e[47m\e[31m[%-100s]\e[0m\e[47;32m[%c]\e[1;0m\e[47;35m[%-3d%%]\e[1;0m\r" $str ${label[$index]} $i let i++ str+="#" sleep 0.1 done echo效果图:
