Eu escrevi um pequeno roteiro para isso:
#!/bin/bash
[ "$1" = "-q" ] && shift && quiet=true || quiet=false
hms=(${1//:/ })
printf -v now '%(%s)T' -1
printf -v tzoff '%(%z)T\n' $now
tzoff=$((0${tzoff:0:1}(3600*${tzoff:1:2}+60*${tzoff:3:2})))
slp=$(((86400+(now-now%86400)+10#$hms*3600+10#${hms[1]}*60+${hms[2]}-tzoff-now)%86400))
$quiet || printf 'Alarm goes off at %(%c)T.' $((now+slp))
sleep $slp
mplayer /path/to/video.mp4
Chame com o tempo desejado, como alarm.bash 7
, alarm.bash 7:1:3
ou alarm.bash 07:01:03
. Você pode usar a opção -q
para desativar a saída do terminal. Projetado para servir como um despertador, não é possível definir um horário mais do que 23:59:59 no futuro com este script - sugiro combiná-lo com cron
, se necessário.