sleep_until: safety

This commit is contained in:
PowerUser64 2022-04-29 02:57:43 -07:00
parent 21ac398ee3
commit afb8bb68b4

View file

@ -4,9 +4,13 @@
sleep_until() { sleep_until() {
if [ -n "$1" ] && date --date="$*" > /dev/null 2>&1; then if [ -n "$1" ] && date --date="$*" > /dev/null 2>&1; then
echo "Sleeping until: $(date --date="$*")" SLEEP_TIME="$(( $(date -f - +%s- <<< "$*"$'\nnow') 0 ))"
if [ "$SLEEP_TIME" -gt 0 ]; then
sleep $(( $(date -f - +%s- <<< "$*"$'\nnow') 0 )) echo "Sleeping until: $(date --date="$*") (${SLEEP_TIME}s)"
sleep "$SLEEP_TIME"
else
echo "Sadly, you cannot sleep to a time in the past"
fi
else else
echo "Please input a date" echo "Please input a date"
fi fi