先贴代码
#!/bin/bashi=0;
str=""arr=("|" "/" "-" "\")while [ $i -le 100 ]do let index=i%4 let indexcolor=i%8 let color=30+indexcolor printf "e[0;
$color;
1m[%-100s][%d%%]%cr" "$str" "$i" "${
arr[$index]}
" sleep 0.1 let i++ str+='='doneprintf "n"
没错代码就这么简单 其实前面的都差不多就是下面的输出时颜色控制线面我们就介绍一下颜色控制的原理
终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,故通常以'ESC'和左括号'[‘开头。该起始序列称为控制序列引导符(CSI,Control Sequence Intro),通由‘ 33['或‘e['代替。
通过转义序列设置终端显示属性时,可采用以下格式: