1、基础版
#!/bin/bash b='' for ((i=0;$i<=100;i+=2)) do printf "执行进度 :[%-50s]%d%% " $b $i sleep 0.001 b=#$b done echo -e " "
2、普通版
#!/bin/bash processBar() { now=$1 all=$2 percent=`awk BEGIN'{printf "%f", ('$now'/'$all')}'` len=`awk BEGIN'{printf "%d", (100*'$percent')}'` bar='>' for((i=0;i<len-1;i++)) do bar="#"$bar done printf "[%-100s][%03d/%03d] " $bar $len 100 } whole=100 process=0 while [ $process -lt $whole ] do let process++ processBar $process $whole sleep 0.01 done printf " "
3、进阶版
#!/bin/bash i=0; str="" arr=("|" "/" "-" "\") while [ $i -le 100 ] do let index=i%4 let indexcolor=i%8 let color=30+indexcolor printf "e[0;$color;1m[%-100s][%d%%]%c " "$str" "$i" "${arr[$index]}" sleep 0.05 let i++ str+='#' done printf " "
4、高级版
#!/bin/bash i=0 str="" arry=("\" "|" "/" "-") while [ $i -le 100 ] do let index=i%4 if [ $i -le 20 ] then let color=44 let bg=34 elif [ $i -le 45 ] then let color=43 let bg=33 elif [ $i -le 75 ] then let color=41 let bg=31 else let color=42 let bg=32 #根据功能需求还可以更改 fi printf "