here is a simple bash programming that will execute alarm when it reach certain time setup by user
initially i coded just for exercise on bash scripting (practice make perfect right?) but i think it’s a good idea to share it with other people
here’s the code
#!/bin/bash
masa="`date +%k:%M`"
mp3="$HOME/Desktop/alarm.mp3" #change this
if [ $# != 1 ]; then
echo “please insert alarm time [24hours format]”
echo “example ./alarm 13:00 [will ring alarm at 1:00pm]”
exit;
fi
alarm=$1
if [[ "$alarm" =~ ^[0-2][0-9]\:[0-5][0-9]$ ]]
#fix me with better regex >_<
then
echo “time now $masa”
echo “alarm set to $alarm”
echo “will play $mp3″
else
echo “invalid clock format”
exit;
fi
while [ $masa != $alarm ];do
masa=”`date +%k:%M`” #update time
done
echo $masa
if [ $masa = $alarm ];then
echo ringggggggg
play $mp3 > /dev/null 2> /dev/null &
fi
exit
if you have any suggestion/comment to improve this code please tell me 
thanks
view proper script alarm bash script
note : you will need sox to use “play” command, debian/ubuntu user can install it by sudo apt-get install sox
6 Comments
Maria Ozawa mesti tax boleh tinggal nyer.. wakakaka
Hi! I’ve found a mistake.
Istead of this line:
ifs [[ "$alarm" =~ ^[0-2][0-9]\:[0-5][0-9]$ ]]
writhe this:
if [[ "$alarm" =~ ^[1-2]?[0-9]\:[0-5][0-9]$ ]]
The timeformat is not 09:00. Tts 9:00
Sorry for my bad english.
Hi! I’ve found a mistake.
Istead of this line:
ifs [[ "$alarm" =~ ^[0-2][0-9]\:[0-5][0-9]$ ]]
writhe this:
if [[ "$alarm" =~ ^[1-2]?[0-9]\:[0-5][0-9]$ ]]
The timeformat is not 09:00. Its 9:00
Sorry for my bad english.
thnx for that fix
, but i think the for format should be [0-2] since it’s 00:00 when 12a.m but i wont effect much i believe nobody will set alarm for 12:00 am
ive tested with 12 am.
http://tefeo.extra.hu/content/picture.png
the picture is very talkative.
Nice script - just what I am looking for :)
But 100% cpu is not fine. Better to write:
while [ $masa != $alarm ];do
sleep 1 #wait 1 second
masa=”`date +%k:%M`” #update time
done
One Trackback
[...] je bunyi dia. Mana la tau selepas habis saja saya belajar menulis shell scripts ni, saya dapat buat Alarm Clock yang lebih advanced dari saudara Novatech. January 16th, 2008Artikel Ubuntu Transparent Ubuntu [...]