r00t-3xp10it

[ bash ] Create a ProgressBar function display

Feb 7th, 2015
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.80 KB | None | 0 0
  1. #!/bin/bash
  2. # Create a ProgressBar function display
  3. # loool video tutorial => http://youtu.be/msZpNZuhi6A
  4.  
  5.  
  6. # Variable declarations
  7. _start=1 # first state (start 1%)
  8. _end=100 # final state (end 100%)
  9.  
  10.  
  11. function ProgressBar {
  12.     let _progress=(${1}*100/${2}*100)/100
  13.     let _done=(${_progress}*4)/10
  14.     let _left=40-$_done
  15.  
  16.       # Build progressbar string lengths
  17.       _fill=$(printf "%${_done}s")
  18.       _empty=$(printf "%${_left}s")
  19.  
  20. # Build progressbar strings and print the ProgressBar line
  21. # Output example: [########################################] 100%
  22. printf "\rProgress : [${_fill// /#}${_empty// /-}] ${_progress}%%"
  23.  
  24. }
  25.  
  26.  
  27.  
  28.  
  29. # Proof of concept (loop)
  30. for number in $(seq ${_start} ${_end})
  31. do
  32.     sleep 0.1
  33.     ProgressBar ${number} ${_end}
  34. done
  35. printf '\nFinished!\n'
Advertisement
Add Comment
Please, Sign In to add comment