将8月1号到10月12号的日期传参给1个shell脚本怎么写

将8月1号到10月12号的日期传参给1个shell脚本怎么写,第1张

只需要两个参数分别指示起止日期,然后在shell脚本中根据起止日期得到中间的所有日期。

testsh:

#!/bin/sh

start_date=$1

end_date=$2

i=0

while true

do

   oDate=`date -d "$start_date + $i day" "+%Y%m%d"`

   [ $oDate -gt $end_date ] && break

   echo $oDate

   let i+=1

done

执行:

/testsh 20140801 20141012

为什么要用awk呢?

简单的进行时间转换就行了。不超过10行

redhat4环境下:

datesh内容:

flag=$1

time1=`date -d "$flag" +'%Y-%m-%d %H:%M'`

echo $time1

time2=`date -d "$time1" '+%s'`

echo $time2

time3=`expr $time2 + 180`

time4=`date -d "1970-01-01 UTC "$time3" seconds" +"%d-%b-%Y %H:%M"`

echo $time4

time5=`expr $time2 - 180`

time6=`date -d "1970-01-01 UTC "$time5" seconds" +"%d-%b-%Y %H:%M"`

echo $time6

检查结果:

[root@localhost ~]# sh datesh 00:00

2010-09-18 00:00

1284739200

18- 9月-2010 00:03

17- 9月-2010 23:57

[root@localhost ~]# sh datesh 00:12

2010-09-18 00:12

1284739920

18- 9月-2010 00:15

18- 9月-2010 00:09

每次执行结果最后两行就是你要的答案

以上就是关于将8月1号到10月12号的日期传参给1个shell脚本怎么写全部的内容,包括:将8月1号到10月12号的日期传参给1个shell脚本怎么写、shell脚本计算时间、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9596893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存