如何使我的bash脚本从过去6个月开始并在此后连续运行?

时间:2014-01-01 11:38:19

标签: bash shell

MONTH=`date '6 month ago' %Y-%m`
MONTH1=`date '5 month ago' %Y-%m`
MONTH2=`date '4 month ago' %Y-%m`
MONTH3=`date '3 month ago' %Y-%m`
MONTH4=`date '2 month ago' %Y-%m`
MONTH5=`date '1 month ago' %Y-%m`
MONTH6=`date %Y-%m`

如何让脚本在当月停止运行时连续运行?从2013年7月开始至2014-01学年当月,并且连续几个月保持增长。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您只需要date的更高级别的调用。这是10个月,根据您需要的未来月份进行相应调整:

day=$(date -d '6 months ago' +%F)

for ((i=0; i<10; i++)); do 
    month=${day%-*}
    echo $month
    day=$(date -d "$day + 1 month" +%F)
done
2013-07
2013-08
2013-09
2013-10
2013-11
2013-12
2014-01
2014-02
2014-03
2014-04

%F%Y-%m-%d

相同