很久之前就想自己写个shell进度条了,所以蹭今天休息,就写了试试,感觉效果不错,还带颜色变化的。

CODE:

#!/bin/bash

j=#
esc="\033"

blackf="${esc}[30m";   redf="${esc}[31m";    greenf="${esc}[32m"
yellowf="${esc}[33m"   bluef="${esc}[34m";   purplef="${esc}[35m"
cyanf="${esc}[36m";    whitef="${esc}[37m"

for ((i=1;i<=100;i=$i+1))

do


  if (($i<20)); then
        m=$redf

  elif (($i<40));then
        m=$purplef

  elif (($i<60));then
        m=$yellowf

  elif (($i<80));then
        m=$bluef

  elif (($i<90)); then
        m=$cyanf
  else
        m=$greenf

  fi

 echo -en  "\r\033[$m$i%\033[0m  \033[$m $j\033[0m" 
 j=$j#
 sleep 1

done
echo  -e "\n\t\t\033[31;1;5mover\033[0m"

效果如下: