53 lines
1.3 KiB
Bash
Executable File
53 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
case $0 in
|
|
*"timer"*)
|
|
[ $# -ne 2 ] && printf "specify minutes and \
|
|
seconds\n" && exit 1
|
|
sleep $(($1 * 60 + $2))
|
|
printf "your timer is done\a\n"
|
|
exit 0
|
|
;;
|
|
*"alarm"*)
|
|
[ $# -ne 1 ] && printf "specify time\n" && exit 1
|
|
ttw=$(($(date +%s --date="$1 tomorrow") - $(date +%s)))
|
|
sleep $ttw
|
|
printf "your alarm is done\a\n"
|
|
exit 0
|
|
;;
|
|
*"tomato"*)
|
|
[ $# -ne 2 ] && \
|
|
printf "specify work and rest time\n" && exit 1
|
|
counter=0
|
|
while true; do
|
|
printf "start work cycle %s\a\n" $(($counter + 1))
|
|
sleep $(($1 * 60))
|
|
printf "start rest cycle %s\a\n" $(($counter + 1))
|
|
sleep $(($2 * 60))
|
|
counter=$(($counter + 1))
|
|
done
|
|
exit 0
|
|
;;
|
|
*"stopwatch"*)
|
|
now=$(date +%s)
|
|
read var
|
|
printf "%s\n" $(($(date +%s) - $now))
|
|
exit 0
|
|
;;
|
|
*"verbosewatch"*)
|
|
min=0
|
|
sec=0
|
|
while true; do
|
|
printf "%02d:%02d\r" $min $sec
|
|
sleep 1
|
|
sec=$(($sec + 1))
|
|
[ $sec -eq 60 ] && min=$(($min + 1)) && sec=0
|
|
done
|
|
exit 0
|
|
;;
|
|
*)
|
|
printf "unknown invocation\n"
|
|
exit 2
|
|
;;
|
|
esac
|