#!/bin/zsh # countPerc # A simle countdown ZSH script that draws # progress bar using perc2 script # https://raw.githubusercontent.com/brontosaurusrex/bucentaur/master/bin/perc2 # Usage: countPerc 20 # in seconds # Note: This is NOT miliseconds precise. second="0.99" set +m c="$1" ; d="$1" perc=$(( 100.0/c )) varcalc() { var="$(perc2 $(( 100 - perc * c )))" } repeat c {(( c-- )); sleep "$second" & ; varcalc; wait; echo -ne "$var\r" } # wait before echo seems like a more natural way, however some time is lost here. echo "$d seconds has passed."