linux– 使用date命令比较时间

linux– 使用date命令比较时间,第1张

概述假设我只想在上午8点(8点)到下午5点(17点)之间执行某个bash脚本块,否则不执行任何 *** 作.该脚本不断运行.到目前为止,我正在使用date命令.如何使用它来比较它与时间范围?最佳答案只需检查当天的当前小时是否在8到5之间 - 因为你使用的是圆形数字,所以你甚至不需要在几分钟内捣乱:hour=$(date +%H) if [ '$hour' -lt 17

假设我只想在上午8点(8点)到下午5点(17点)之间执行某个bash脚本块,否则不执行任何 *** 作.该脚本不断运行.

到目前为止,我正在使用date命令.

如何使用它来比较它与时间范围?

最佳答案只需检查当天的当前小时是否在8到5之间 – 因为你使用的是圆形数字,所以你甚至不需要在几分钟内捣乱:

hour=$(date +%H)if [ "$hour" -lt 17 -a "$hour" -ge 8 ]; then    # do stufffi

当然,这在8:00:00是正确的,但在5:00:00是假的;希望这不是什么大不了的事.

对于更复杂的时间范围,更简单的方法可能是转换回unix时间,您可以更容易地进行比较:

begin=$(date --date="8:00" +%s)end=$(date --date="17:00" +%s)Now=$(date +%s)# if you want to use a given time instead of the current time,use# $(date --date=$some_time +%s)if [ "$begin" -le "$Now" -a "$Now" -le "$end" ]; then    # do stufffi

当然,我错误地回答了问题.正如seamus建议的那样,你可以使用一个cron作业 – 它可以在8开始服务并在5时将其降低,或者只是在预期的时间运行它. 总结

以上是内存溢出为你收集整理的linux – 使用date命令比较时间全部内容,希望文章能够帮你解决linux – 使用date命令比较时间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1046864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存