4个shell写的进度条脚本

example1:

  1. #!/bin/sh 
  2. b=''
  3. for ((i=0;$i<=100;i+=2)) 
  4. do 
  5.         printf "progress:[%-50s]%d%%\r" $b $i 
  6.         sleep 0.1 
  7.         b=#$b 
  8. done 
  9. echo

效果:

example 2:

  1. #!/bin/bash 
  2. i=0
  3. while [ $i -lt 20 ] 
  4. do 
  5.        ((i++)) 
  6.        echo -ne "=>\033[s" 
  7.        echo -ne "\033[40;50H"$((i*5*100/100))%"\033[u\033[1D" 
  8.    usleep 50000 
  9. done 
  10. echo

效果:

example 3:

  1. #!/bin/bash 
  2. COUNTER=0
  3. _R=0
  4. _C=`tput cols` 
  5. _PROCEC=`tput cols` 
  6. tput cup $_C $_R 
  7. printf "[" 
  8. while [ $COUNTER -lt 100 ] 
  9. do 
  10.     COUNTER=`expr $COUNTER + 1` 
  11.     sleep 0.1 
  12.     printf "=>" 
  13.     _R=`expr $_R + 1` 
  14.     _C=`expr $_C + 1` 
  15.     tput cup $_PROCEC 101 
  16.     printf "]%d%%" $COUNTER 
  17.     tput cup $_C $_R 
  18. done 
  19. printf "\n"

效果:

example 4:

  1. #!/bin/bash 
  2. i=0
  3. while [ $i -lt 50 ] 
  4. do 
  5.        ((i++)) 
  6.         for j in '-' '\\' '|' '/' 
  7.         do 
  8.        echo -ne "$j\033[s" 
  9.        echo -ne "\033[40;50H"$((i*5*100/100))%"\033[u\033[1D" 
  10.    usleep 50000 
  11. done 
  12. done 
  13. echo

效果:

posted on 2011-10-26 10:38  coffeegg  阅读(818)  评论(0编辑  收藏  举报