Я написал для этого небольшой скрипт:
#!/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
Вызовите его с желаемым временем, например alarm.bash 7
, alarm.bash 7:1:3
или alarm.bash 07:01:03
. Вы можете использовать опцию -q
для отключения выхода терминала. Предназначен для использования в качестве будильника, с помощью этого скрипта в будущем нельзя установить время более 23 :59 :59 – предлагаю комбинировать его с cron
при необходимости.