免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7138 | 回复: 8
打印 上一主题 下一主题

shell 如何比较时间大小 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-05 09:43 |只看该作者 |倒序浏览
如题 ,请问各位高人 ,如何比较两个时间的大小,需求如下:
拿当前时间和今天的某个时间比较,比如晚上10点。

目标是写一个死循环,每天早上8点开始跑,到晚上10点结束,请高人指点一下,谢谢

论坛徽章:
0
2 [报告]
发表于 2009-08-05 09:45 |只看该作者

回复 #1 linqs083 的帖子

用24小时制的不就可以了?

论坛徽章:
0
3 [报告]
发表于 2009-08-05 09:47 |只看该作者

回复 #2 greendays 的帖子

能给个例子么,如何获取每天的10点钟的大小啊,目前我只会像这样的 :
$(date -d 20040906 +%s))

论坛徽章:
0
4 [报告]
发表于 2009-08-05 09:49 |只看该作者
while [ $(date +%H%M) -lt 2200 ]
do
    scripts...
done

用crond定时上午8点开始

论坛徽章:
0
5 [报告]
发表于 2009-08-05 09:54 |只看该作者

回复 #3 linqs083 的帖子

#!/bin/bash
time-ten=`date | awk '{print $5}'`
    while  [ $time-ten  gt 10:00:00]   
    do
something
    done
早上10点之后

[ 本帖最后由 greendays 于 2009-8-5 09:57 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-08-05 09:59 |只看该作者
man date

%H     hour (00..23)
%M     minute (00..59)

论坛徽章:
0
7 [报告]
发表于 2009-08-05 10:32 |只看该作者

回复 #5 greendays 的帖子

脚本执行的开始时间你不可能在脚本里来判断,那没有什么意义。到第二天你还得手动一下
用crond来定义(开始)执行时间

论坛徽章:
0
8 [报告]
发表于 2009-08-05 10:45 |只看该作者
while :
do
   if [ `date +%k%M` -gt 800 -a `date +%k%M` -lt 2200 ];then
      urcmd
      ......
    fi
done

[ 本帖最后由 ywlscpl 于 2009-8-5 10:53 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-08-05 13:46 |只看该作者

回复 #7 lucash 的帖子

你说的有道理 ,我们现在开始是在 wts里面调用的

至于为什么不直接配置在 wts里,说是资源耗太多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP