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,產生閃爍的效果。



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