只需要两个参数分别指示起止日期,然后在shell脚本中根据起止日期得到中间的所有日期。
testsh:
#!/bin/shstart_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脚本计算时间、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)