Hacker News new | ask | show | jobs
by guns 5766 days ago
Simple command line timer:

    remind() {
        [[ $# -ge 2 ]] || { echo >&2 "Usage: $FUNCNAME time msg"; return 1; }
        local sec="$(($1*60))"
        (   trap "echo \"\$sec seconds left\"" QUIT
            while ((--sec > 0)); do sleep 1; done
            say "${@:2}" # OS X only, replace with your favorite notifier
        ) 2>/dev/null &
    }

    $ remind 30 get the laundry
Query time remaining with kill -QUIT %jobspec. Good for systems that don't have at(1).
2 comments

Hm. That looks like quite a typing exercise. What's wrong with:

    ( sleep 1800 ; say "get the laundry" )&
His can be added to your .bashrc/.bash_profile, and then all you have to type is:

  remind [minutes] [message]
Functions can be imported to your shell. =)
neat trick
Thanks, that's useful!

Favorite notifier:

  echo "${@:2}" | growlnotify -t Reminder -s -m -