zoukankan      html  css  js  c++  java
  • shell循环(两个日期比较,改变某个特定日期来改变当前比较值)

    需求:从当前时间前6个月开始执行某个语句,直到执行到当前日期的前一天。 

     shell脚本如下:

    #!/bin/bash

    yesterday=`date -d -1day +%Y%m%d`
    sixmonthsago=` date -d -6month +%Y%m%d` 
    echo $sixmonthsago
    while [[ $sixmonthsago < $yesterday  ]]
    do
             curDate=`date -d "+0 day $sixmonthsago" +%Y-%m-%d`         
              echo curDate  
            sixmonthsago=`date -d "+1 day $sixmonthsago" +%Y%m%d`
            echo $sixmonthsago
    done

    注意: sixmonthsago=`date -d "+1 day $sixmonthsago" +%Y%m%d`这个写法,在If条件语句下此写法不好用。

    测试结果:

    [root@master shell]# sh t.sh 
    20180123
    20180124
    20180125
    20180126
    20180127
    20180128
    20180129
    20180130
    20180131
    20180201
    20180202
    20180203

    。。。

    20180719
    20180720
    20180721
    20180722
    [root@master shell]# 
  • 相关阅读:
    java中排序算法
    maven常用命令
    Team_GJX模板整理
    BZOJ 4128
    BZOJ 1169: [Baltic2008]Grid
    Codeforces Round #448 (Div. 2)
    HDU 5942
    2016 ICPC 沈阳
    2016 ICPC 北京
    2016 CCPC 杭州
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/9356148.html
Copyright © 2011-2022 走看看