#!/bin/sh # Usage: sleep_until <time> # Ex: sleep-until 3:00 pm if [ -n "$1" ] && date --date="$*" > /dev/null 2>&1; then SLEEP_TIME="$(( $(date -f - +%s- <<< "$*"$'\nnow') 0 ))" if [ "$SLEEP_TIME" -gt 0 ]; then echo "Sleeping until: $(date --date="$*") (${SLEEP_TIME}s)" sleep "$SLEEP_TIME" else echo "Sadly, you cannot sleep to a time in the past" exit 1 fi else echo "Please input a valid date" exit 1 fi