LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1525|回复: 19

判断时间或日期的命令该怎么写

[复制链接]
发表于 2006-6-29 20:13:04 | 显示全部楼层 |阅读模式
rt。比如说:判断现在是不是5点整;或是判断今天是不是5月6号;.................
发表于 2006-6-29 21:29:49 | 显示全部楼层
不要笑话偶哈,才学shell scripts 不超过 5*24小时,学着写的

*************************************************************
#!/bin/bash
#       Let's to judge time and date
# History
# 2006/06/28    TMeng   First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/scripts
export PATH

read -p "please input current date: (format mmdd ex> 0629) " cur_date
read -p "please input current time: (format hh ex> 14) " cur_time

Date=`date +%m%d`
Time=`date +%H`
if      [ "$Date" != "$cur_date" ]
then
        echo "The current day is $Date"
else
        echo "The day is match!"
fi

if      [ "$Time" != "$cur_time" ]
then
        echo "The current time is $Time"
else
        echo "The Time is match!"
fi


******************************************************
回复 支持 反对

使用道具 举报

发表于 2006-6-29 23:20:06 | 显示全部楼层
  1. #!/bin/bash
  2. #timer

  3. ZERO=0
  4. NUMBER_CUR=1
  5. NUMBER_OLD=1

  6. while [ $ZERO -lt 1 ];
  7. do
  8.         TIMER=$(date +%s)
  9.         NUMBER_CUR=$(expr $TIMER % $1)
  10.         if [ "$NUMBER_CUR" = "$ZERO" -a "$NUMBER_OLD" != "$ZERO" ];then
  11.                 echo "timerwork"
  12.                 date
  13.         fi
  14.         NUMBER_OLD=$NUMBER_CUR
  15. done
复制代码

借个地方贴下代码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-30 16:35:33 | 显示全部楼层
好像是我表达得不够清楚啊,汗

我得意思是有没那个变量等于现在得时间或是日期什么的。假设这个变量为time
然后用if [time = 5 or 别的什么的]
其实date就可以表示时间,但我不知道怎么来给他比较,他的格式是什么 。
回复 支持 反对

使用道具 举报

发表于 2006-6-30 17:16:30 | 显示全部楼层
if [ $((`date +%H` -5)) != 0 ]  then

*****************************

不知这是不是你想要的,

其实如果是不知道date的格式的话,man date也许能给你回答!
回复 支持 反对

使用道具 举报

发表于 2006-6-30 17:21:45 | 显示全部楼层
主要是表示时间的格式,是吧,看date的手册啊。

[ `date +%l` = 5 ] && echo true
true
回复 支持 反对

使用道具 举报

发表于 2006-6-30 17:34:25 | 显示全部楼层
[ $(date +%H) = 5 ] && echo true || echo false

haha
回复 支持 反对

使用道具 举报

发表于 2006-6-30 17:36:24 | 显示全部楼层
呵呵,seamonkey兄

请教一下,[ `date +%l` = 5 ] && echo true 与[ `date +%l1 == 5] && echo true ,都能得到正确的结果,

可书上说在" [] "中"="表示赋值,"=="才表示全等呀,为什么结果会一样呢?
回复 支持 反对

使用道具 举报

发表于 2006-6-30 17:37:48 | 显示全部楼层
用==比较好,这是严格的遵循posix规范的用法。
回复 支持 反对

使用道具 举报

发表于 2006-6-30 17:40:42 | 显示全部楼层
sorry,乌龙,正好相反。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表