Linux——利用Shell腳本編寫進度條

初級版本(原始進度條):

#!/bin/bash

echo "hello"
printf "\n"
sleep 3
i=0
bar=''
lable=('|' '\\' '-' '/')
while [ $i -le 100 ]
do
#echo $i
printf "[%-100s][%d%%][%c]\r" "$bar" "$i" "${lable[$i%4]}"
bar='#'$bar
let i++
sleep 0.2
done
printf "\n"

效果圖:
這裏寫圖片描述
升級版本(彩色的進度條):
背景知識:

字背景顏色範圍:40—-49
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色

字顏色:30———–39
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色

============ANSI控制碼的說明 ===============
33[0m 關閉所有屬性
33[1m 設置高亮度
33[4m 下劃線
33[5m 閃爍
33[7m 反顯
33[8m 消隱
33[30m – 33[37m 設置前景色
33[40m – 33[47m 設置背景色
33[nA 光標上移n行
33[nB 光標下移n行
33[nC 光標右移n行
33[nD 光標左移n行
33[y;xH設置光標位置
33[2J 清屏
33[K 清除從光標到行尾的內容
33[s 保存光標位置
33[u 恢復光標位置
33[?25l 隱藏光標
33[?25h 顯示光標

#!/bin/bash

i=0
str=""
label=('|' '/' '-' '\\')
index=0
while [ $i -le 100 ]
do
    let index=i%4
    printf "\e[47m\e[31m[%-100s]\e[0m\e[47;32m[%c]\e[1;0m\e[47;35m[%-3d%%]\e[1;0m\r" $str ${label[$index]} $i
    let i++
    str+="#"
    sleep 0.1
done
echo

效果圖:
這裏寫圖片描述

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