初级版本(原始进度条):
#!/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
效果图: