linux – 使用date命令比较时间
发布时间:2020-12-14 02:06:53 所属栏目:Linux 来源:网络整理
导读:假设我只想在上午8点(8点)到下午5点(17点)之间执行某个bash脚本块,否则不执行任何操作.该脚本不断运行. 到目前为止,我正在使用date命令. 如何使用它来比较它与时间范围? 解决方法 只需检查当天的当前小时是否在8到5之间 – 因为你使用的是圆形数字,所以你甚
假设我只想在上午8点(8点)到下午5点(17点)之间执行某个bash脚本块,否则不执行任何操作.该脚本不断运行.
到目前为止,我正在使用date命令. 如何使用它来比较它与时间范围? 解决方法
只需检查当天的当前小时是否在8到5之间 – 因为你使用的是圆形数字,所以你甚至不需要在几分钟内捣乱:
hour=$(date +%H) if [ "$hour" -lt 17 -a "$hour" -ge 8 ]; then # do stuff fi 当然,这在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 stuff fi 当然,我错误地回答了问题.正如seamus建议的那样,你可以使用一个cron作业 – 它可以在8开始服务并在5时将其降低,或者只是在预期的时间运行它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 为什么在supervisor中使用`bash -c`而不是直接调用
- 如何在此变量中获取此值[Linux Bash]
- rsync –remove-source-files的安全性如何?
- 如何给linux配置两个不同网段的ip
- Linux 学习_在Linux下面安装eclipse
- ulimit – `lsof -p |之间有什么区别? wc -l`和`ls / proc
- sed基础 sed高级应用
- linux – rsync / ssh / rsnapshot backup – 远程脚本执行
- linux – 在Ubuntu中如何找到命令行中使用的DNS服务器?
- linux – 为ec2-user解锁屏幕