演示:
#!/bin/bash
index=('|' '/' '-' '\\')
bar='#'
i=0
while [ $i -le 100 ]
do
((colour=30+i%8))
echo -en "\e[1;"$colour"m"
printf "[%-100s][%d][%c]\r" "$bar" "$i" "${index[i%4]}"
let i++
bar+='#'
usleep 30000
done
# 恢复颜色 0表示关闭颜色选项,-e 表示打开转义效果, m 表示设置属性结束标志
echo -e "\e[0m"
echo -e 标识转义生效 -n 标识最后不输出换行符, 代码中的echo 只用来控制终端的颜色。
其格式为 "\e[1; xm"
其中m的取值为:
- 30m 黑色
- 31m 红色
- 32n 绿色
- 33m 黄色
- 34m 蓝色
- 35m 洋红
- 36m 青色
- 37m 白色