#!/bin/bash
#
# This script works like an alarm clock.
#
# You must start the script at the beginning of a minute
# if you want the alarm to sound at the start of a minute.
# This must be specified in 24 hour time.
if [ -z "$2" ] || [ ! -z "$3" ]; then
echo "Usage: alarm <hour> <minute>"
echo "The alarm will sound when the current time reaches hour:minute."
exit 1
fi
ALARMSTRING="T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T"
HOUR=$(/usr/bin/date +%H)
MINUTE=$(/usr/bin/date +%M)
WAKEUPHOUR="$1"
WAKEUPMINUTE="$2"
if [ -z $HOUR ]; then
echo "Hour unknown."
exit 1
fi
if [ -z $MINUTE ]; then
echo "Minute unknown."
exit 1
fi
echo -n "Current time: "
echo -n $HOUR
echo -n ":"
echo -n $MINUTE
echo "."
echo -n "Waiting for: "
echo -n $WAKEUPHOUR
echo -n ":"
echo -n $WAKEUPMINUTE
echo "."
let LOOP=1
#echo -n "LOOP: "
#echo -n $LOOP
#echo "."
while [ $LOOP == 1 ]; do
/usr/bin/sleep 10
HOUR=$(/usr/bin/date +%H)
MINUTE=$(/usr/bin/date +%M)
if [ -z $HOUR ]; then
echo "Hour unknown."
exit 1
fi
if [ -z $MINUTE ]; then
echo "Minute unknown."
exit 1
fi
if [ $HOUR == $WAKEUPHOUR ] && [ $MINUTE == $WAKEUPMINUTE ]; then
let LOOP=0
fi
# echo -n "In while loop. HOUR: "
# echo -n $HOUR
# echo -n ", MINUTE: "
# echo -n $MINUTE
# echo -n ", WAKEUPHOUR: "
# echo -n $WAKEUPHOUR
# echo -n ", WAKEUPMINUTE: "
# echo -n $WAKEUPMINUTE
# echo "."
done
#echo -n "Current hour: "
#echo $HOUR
#echo -n "Current minute: "
#echo $MINUTE
#echo -n "WakeUpHour: "
#echo $WAKEUPHOUR
#echo -n "WakeUpMinute: "
#echo $WAKEUPMINUTE
#echo
echo "Time to wake up. Press ^C to stop."
# Start the alarm.
echo $ALARMSTRING | /usr/bin/cw -e -t 500 -v 20 -w 15
exit 0
# EOF