diff options
Diffstat (limited to 'etc/functions/progress')
-rw-r--r-- | etc/functions/progress | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/etc/functions/progress b/etc/functions/progress new file mode 100644 index 0000000..0d0292d --- /dev/null +++ b/etc/functions/progress @@ -0,0 +1,25 @@ +## vim:ft=zsh +## progress - draw a simple progress bar +## Written 2008 by Daniel Friesel <derf@derf.homelinux.org> + +typeset -i current=$1 +typeset -i max=$2 +typeset desc=$3 +typeset desc2=$4 +typeset output='' +typeset currentper=$(( (current*100)/max )) +typeset c a +function item { + typeset j + for j in {0..$1}; { + (( j > 0 )) && output+=$2 + } +} +c=$(( currentper/5 )) +a=$(( 20-c )) +output+="$desc [" +item $c '=' +item $a ' ' +output+="] $currentper% $desc2" +echo -ne "\r \r" +echo -ne $output |