【发布时间】:2015-01-24 09:19:23
【问题描述】:
我想在 shell 脚本中比较日期。 我使用的逻辑如下:
$date_1="Tue Nov 25 23:50:01 CST 2014"
$date_2=$(date)
if [ $date_2 -eq $date_1 ] ; then
echo "$date2 is equal to $date_1"
else
echo "$date2 is not equal to $date_1"
fi
但是,当我每分钟使用crontab 执行脚本时,
我在日志中收到以下不正确的消息:
Tue Nov 25 23:50:01 CST 2014 不等于 Tue Nov 25 23:50:01 CST 2014
你能帮我摆脱这种尴尬的局面吗?
【问题讨论】:
-
还有当前日期值如何等于静态日期值?
-
我将 date_1 静态保留为未来的日期值,并在 crontab 中每分钟安排一次此脚本。所以一旦日期匹配,它就会给出输出,但不幸的是它没有在这里发生
-
Anubhava:这是一个很好的观点......但你可以预测小时、分钟、秒,不是吗?同意这有点奇怪,但从逻辑上讲,这是有道理的。你知道明天是什么日子,不?
-
Abuzar:我怀疑涉及到空格或特殊字符。当你打印变量时,用一些东西包围它们,比如: echo "+${date_1}+ +${date_2}+" - 我不知道 { 和 } 在 Korn 中是否有效,但我认为它们可以。跨度>