相关疑难解决方法(0)

睡眠直到下一次出现特定时间

我需要一系列命令或单个命令,直到下一次出现“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
Run Code Online (Sandbox Code Playgroud)

你有什么更好的想法吗?

如果需要,将添加更多信息!

bash sleep date time

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

bash ×1

date ×1

sleep ×1

time ×1