#!/usr/bin/env bash [[ -z "${@}" ]] && { echo "No argument provided." >&2 ; exit 1; } d=$(($(date +%s) + $1)); echo "Countdown started at $(date)" while [[ "$d" -ge "$(date +%s)" ]]; do _dt=$((d - $(date +%s))) days=$((_dt / 86400)) echo -ne "\r${days}d $(date -u --date @$((_dt)) +%H:%M:%S) "; sleep 0.1 done echo -ne "\rCountdown finished $(date)\n"