用shell腳本實現一個彩色的進度條

演示:





代碼如下:

#!/bin/bash


index=('|' '/' '-' '\\') #定義一個字符數組
bar='#'

i=0
while [ $i -le 100 ]
do
	let colour=30+i%8
	echo -en "\e[1;"$colour"m"
	

	printf "[%-100s][%d][%c]\r" "$bar" "$i" "${index[i%4]}"

	let i++
	bar+='#'
	usleep 300000
done

#恢復顏色並且換行,使得shell命令提示在下一行
echo -e "\e[1;m"

echo -e 標識轉義生效 -n 標識最後不輸出換行符(echo默認輸出換行),  代碼中的echo 只用來控制終端的顏色。

其格式爲 "\e[1; xm"

其中m的取值爲:

  • 30m  黑色
  • 31m  紅色
  • 32n  綠色
  • 33m  黃色
  • 34m  藍色
  • 35m 洋紅
  • 36m 青色
  • 37m 白色
代碼中用 百分百i 對 8 取模再加30,產生閃爍的效果。







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