序文
小さなパートナーが、プログレスバーなどの派手なものがあるかどうかを言う前にメッセージを残しました。彼は今日来ました。
アイデア
1.プログレスバーの構成
プログレスバーは5文字で構成されています。
メインプログレスバー:
#Flowerホイッスルサークル:| \-/
##は進行状況を生成するために使用されます:
| \-/これらの4つは、パーセンテージの後ろを丸で囲むために使用されます
2.進行状況バーの進行状況
合計は100%で、毎回4%の割合で増加します。つまり、0%、4%、8%、12%、最大100%です。
i = 0と定義します。$ i * 4は、
i ++
が4%増加するたびに、4 iが増加するたびに1ずつ増加することを意味し、ポンド記号を出力します。
この写真では、0%、4%、8%、12%、合計4つの#記号が印刷されています。
3.ファンシーサークル
同様に、| \-/を配列ch =( '|' '' '-' '/')として定義し、値はch [0]、ch [1]、ch [2]です。ch[3]
ch [5]がインデックス値を超えないようにするため。インデックス値を毎回4の商にするので、5のインデックスが表示されないようにすることができます。
インデックスを取得する:ch [$ index]
4を引用する方法:インデックス= i%4とします
4.何を印刷するか
printf "[%-25s][%d%%][%c]\r" $str $(($i*4)) ${ch[$index]}
ch [$ index]は、円のように見える4つのシンボルを一度に1つの値で出力します。
コードソース
#!/bin/bash
i=0
str='#'
ch=('|' '\' '-' '/')
index=0
while [ $i -le 25 ]
do
printf "[%-25s][%d%%][%c]\r" $str $(($i*4)) ${ch[$index]}
str+='#'
let i++
let index=i%4
sleep 0.1
done
printf "\n"
echo "安装完成"
総括する
シェルを使用してプログレスバーの単純なバージョンを実装すると、実際には多くの優れたソリューションがありますが、完璧を追求する人にとって、各ソリューションには対応する欠点があります。