33 lines
582 B
Bash
Executable file
33 lines
582 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# The variables are checked dynamically
|
|
# shellcheck disable=SC2034
|
|
seconds() {
|
|
local day hour minute second span time
|
|
(( day = $1 / 60 / 60 / 24 ))
|
|
(( hour = $1 / 60 / 60 % 24 ))
|
|
(( minute = $1 / 60 % 60 ))
|
|
(( second = $1 % 60 ))
|
|
|
|
for span in day hour minute second; do
|
|
if (( ${!span} )); then
|
|
if [[ $time ]]; then
|
|
time+=", "
|
|
fi
|
|
|
|
time+="${!span} $span"
|
|
|
|
if (( ${!span} > 1 )); then
|
|
time+=s
|
|
fi
|
|
fi
|
|
done
|
|
|
|
printf %s "$time"
|
|
|
|
if [[ -t 1 ]]; then
|
|
printf '\n'
|
|
fi
|
|
}
|
|
|
|
seconds "${1-3628800}"
|