Linux进度条实现方式

《《《转载内容》》》》

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 

效果:

猜你喜欢

转载自myeyeofjava.iteye.com/blog/2323712