我想在某个时间播放视频。就像警报一样。例如,在 07:00 播放 video.mp4
我已经用 crontab 和 with 尝试过at
,但还没有成功
答案1
我为此写了一个小脚本:
#!/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
在必要时将其结合起来。