0
点赞
收藏
分享

微信扫一扫

Linux中时间、循环、变量、判断

朱小落 2022-12-28 阅读 69


备注:在linux的shell中,等号左右不要留有空格



修改时间
[root@hadoop14 ~]# date
2016年 07月 31日 星期日 10:00:10 CST
=========================
[root@hadoop14 ~]# date  -s 07/27/16
2016年 07月 27日 星期三 00:00:00 CST

[root@hadoop14 ~]# date  -s 09:56:38
2016年 07月 27日 星期三 09:56:38 CST

[root@hadoop14 ~]# date
2016年 07月 27日 星期三 09:56:40 CST



年月日


echo   `date -d "2 day ago" +%Y%m%d`       前天


 `date -d yesterday +%Y%m%d`           昨天


echo   `date -d "1 day ago" +%Y%m%d`       昨天


echo   `date  +%Y%m%d`                               今天


echo   `date -d "day" +%Y%m%d`                 今天


echo   `date -d next-day +%Y%m%d`            明天


echo   `date -d "1 day" +%Y%m%d`               明天



年月日小时


echo   `date  +%Y%m%d%H -d '-1 hours'`    上一个小时



echo   `date  +%Y%m%d%H -d '0 hours'`      当前小时



echo   `date  +%Y%m%d%H -d '1 hours'`      下一个小时



年月日小时分


echo  `date -d '10 min' +%Y%m%d%H%M`             当前加10分钟


echo  `date -d '-10 min' +%Y%m%d%H%M`           当前减10分钟



#!/bin/sh


SHELL=/bin/sh


PATH=/sbin:/bin:/usr/sbin:/usr/bin


MAILTO=root


s1=`date --date="$1"  +%s`


s2=`date --date="$2"  +%s`


s3=$((($s2-$s1)/3600/24))


for ((i=$s3; i>0; i--))


do


  tmp=`date --date="$2 $i days ago" +%Y%m%d`


  hour=0


  for ((j=0;j<=23;j++))


  do


    if [ $j -lt 10 ];then


       hour=0$j


    else


       hour=$j


    fi


    s5=$tmp$hour


     hive -e 'drop table IF EXISTS tongji_sourceclassify_'"$s5"'_result ;'


  done


done

举报

相关推荐

0 条评论