我需要一系列命令或一个可以休眠的命令,直到下一次出现“ 4:00”之类的特定时间为止。
我该怎么办?
该at
命令或cronjob是不可选项,因为我一定不要离开当前所在的脚本。
我正在谈论的特定情况是在屏幕上运行的脚本。我不要停止脚本本身来执行脚本,这一点非常重要,因为在脚本的某些地方需要存储许多重要的变量。脚本不总是应该定期执行。它只需要在特定时间执行。
如果脚本必须创建任何文件或任何其他任务(例如cronjobs或其他屏幕),那将是非常有益的。这只是设计问题。
我只是有一个可怕的主意:
difference=$(($(date -d "4:00" +%s) - $(date +%s)))
if [ $difference -lt 0 ]
then
sleep $((86400 + difference))
else
sleep $difference
fi
您有更好的主意吗?
如果需要,将添加更多信息!
date -d
使用date -j
替换4:00
为0400
。