脚本在每分钟超过X秒时运行命令

时间:2016-07-16 10:27:06

标签: bash raspberry-pi

我想运行一个bash脚本,用于Raspberry Pi,它说“如果当前时间的秒数正好是00或30,则执行X”。

我用Google搜索并找到了一些使用cron的建议,但我认为在开始时会有一点延迟,我想避免。

由于

1 个答案:

答案 0 :(得分:1)

如果你不喜欢cron的延迟,这主要是为了背景,你可以在前台循环:

while true; do
    d=$(date +%S)
    if [ $d -eq 0 -o $d -eq 30 ]; then
        # command here
        date +%S.%N
        # replace the above command with whatever you want
        sleep 5
    else
        sleep 0.001
    fi
done

Linux date命令可以非常快速地检查当前系统时钟。我已经使用此循环打印带有data的纳秒计时器,以证明低延迟。也就是说,在我的系统上,我得到:

30.001057483
00.003022980
30.003011572

等等。