You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
help="""
|
|
|
|
usage: timer [option] [args]
|
|
|
|
options:
|
|
|
|
-c SECONDS Count down from given amount of seconds
|
|
|
|
-s Start stopwatch
|
|
|
|
-h Display this message
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
countdown() {
|
|
|
|
start="$(( $(date '+%s') + $1))"
|
|
|
|
while [ $start -ge $(date +%s) ]; do
|
|
|
|
time="$(( $start - $(date +%s) ))"
|
|
|
|
printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)"
|
|
|
|
sleep 0.1
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
stopwatch() {
|
|
|
|
start=$(date +%s)
|
|
|
|
while true; do
|
|
|
|
time="$(( $(date +%s) - $start))"
|
|
|
|
printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)"
|
|
|
|
sleep 0.1
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
while getopts "c:sh" arg; do
|
|
|
|
case $arg in
|
|
|
|
c) countdown $OPTARG;;
|
|
|
|
s) stopwatch;;
|
|
|
|
h) echo "$help";;
|
|
|
|
esac
|
|
|
|
done
|