[root@y_zilong data]# cat progress_chart.sh
#!/bin/bash
function print_chars()
{
#传入的第一个参数指定要打印的字符串
local char="$1"
#传入的第二个参数指定要打印多少次指定的字符串
local number="$2"
local c
for ((c=0;c<number;++c));do
printf "$char"
done
}
COLOR=32
declare -i end=50
for (( i = 1; i <=end; ++i)); do
printf "\e[1;${COLOR}m\e[80D["
print_chars "#" $i
print_chars " " $((end - i))
printf "] %3d%%\e[0m" $((i *2))
sleep 0.1s
done
echo
[root@y_zilong data]# sh progress_chart.sh
[##################################################] 100%
[root@y_zilong data]#