## vim:ft=zsh ## Countdown to a specific date/time ## Usage: countdown ## or: countdown + ## Copyright (C) 2008-2009 by Daniel Friesel ## License: WTFPL autoload check_com typeset -i beep=0 typeset -i seconds typeset date if check_com beep; then beep=1 fi if [[ $1 == +* ]] { date=@$(($(date +%s) + ${1#+})) } else { date="$*" } while true; do seconds=$[$(date -d $date +%s)-$(date +%s)] printf '%02d:%02d:%02d' $((seconds/3600)) $(((seconds/60)%60)) $((seconds%60)) if (( seconds <= 0 )) { (( beep )) && beep || echo -ne "\a" } sleep 1 echo -ne "\r\e[2K" done