Sure, but given that I already use screen, what use cases would I find easier using job control instead of plain screen?
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).Favorite notifier:
echo "${@:2}" | growlnotify -t Reminder -s -m - ( sleep 1800 ; say "get the laundry" )& remind [minutes] [message]
Functions can be imported to your shell. =)