shell编程 实例----彩色进度条

演示:




#!/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 白色
代码中用 百分百i 对 8 取模再加30,产生闪烁的效果。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章