shell脚本事例--获取当前日期的前一天日期

记录一个shell脚本事例,事例中包括shell的一些语法(函数定义、表达式运算、if、case...)

#!/bin/sh

#获取当前时间
RUN_TIME=`date +%H%M%S`
#取当前日期前一天
get_ydate()
{
        #设置当前年月日
        TODAY=`date +%Y%m%d`
        month=`date +%m`
        day=`date +%d`
        year=`date +%Y`
        #字符转换称数字
        month=`expr $month + 0`
        #取前一天
        day=`expr $day - 1`

#如果前一天为0,进行如下处理  
 
        if [ $day -eq 0 ]; then
          #取前一月月份.
          month=`expr $month - 1`
          #如果前一月为0,则取前一年,月份取第12月      
 
          if [ $month -eq 0 ];
then
            month=12
            day=31
            year=`expr
$year - 1`
          #如果前一月份不为零,则根据月份来判断该天是该月的第几天          
          else
            case $month in
             
1|3|5|7|8|10|12) day=31;;
             
4|6|9|11) day=30;;
             
2)
               
if [ `expr $year % 4` -eq 0 ]; then
                 
if [ `expr $year % 400` -eq 0 ]; then
                   
day=29
                 
elif [ `expr $year % 100` -eq 0 ]; then
                   
day=28
                 
else
                   
day=29
                 
fi
               
else
                 
day=28
               
fi
             
;;
             
esac
          fi
        fi
        #按照YYYYMMDD格式打印年日期   
 
        acct_date=`printf "%04d%02d%02d"
"$year" "$month" "$day"`
        echo $RUN_TIME
        echo $acct_date
}
get_ydate

时间: 2024-10-12 22:15:52

shell脚本事例--获取当前日期的前一天日期的相关文章

js获取当前日期及获取当前日期的前一天日期函数

function getcurrentdate(){ //获取系统时间var LSTR_ndate=new Date();var LSTR_Year=LSTR_ndate.getFullYear();var LSTR_Month=LSTR_ndate.getMonth();var LSTR_Date=LSTR_ndate.getDate();//处理var uom = new Date(LSTR_Year,LSTR_Month,LSTR_Date);uom.setDate(uom.getDate

shell脚本中获取日期

数字时间转标准时间: 数字时间如:20151009163000 标准时间:2015-10-19 16:30:00 a=`head -1 /home/xxx/xxx/bin/.status |awk -F= '{print $2}'|sed -r 's/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/\1-\2-\3 \4:\5:\6/'` 把标准时间转换成秒(据1970-1-1): date -d "$a" +%

Swift教程_基础技术_获取当前日期时间、日期时间格式化及转换

Swift教程_基础技术_类型转换(父子类转换:Int.Double.String转换) Swift教程_基础技术_获取当前日期时间.日期时间格式化及转换 1.获取当前日期时间 var nowDate = NSDate() var formatter = NSDateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss" var dateString = formatter.stringFromDate(nowDate) pri

对于shell脚本参数获取时的一点小技巧

问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i=1 while [ $i -le $NUMBER ] do a[$i]=$1 #将数组a[i]赋值为$1,即取得

Shell脚本执行hive语句 | hive以日期建立分区表 | linux schedule程序

#!/bin/bash source /etc/profile; ################################################## # Author: ouyangyewei # # # # Content: Combineorder Algorithm # ################################################## # change workspace to here cd / cd /home/deploy/rec

shell脚本中获取当前所在目录地址

shell脚本中获取当前所在目录如下 #!/bin/bash work_path=$(dirname $0) cd ${work_path} work_path=$(pwd) cd ${work_path}/src 原文地址:https://www.cnblogs.com/zhangshiwen/p/9064161.html

[转]Shell脚本中获取SELECT结果值的方法

有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形,我们可以用以下的方法来达到目的. 点击(此处)折叠或打开 #!/bin/ksh # # Created : 2015.05.25 # Updated : 2015.05.25 # Author : Jet Chenxi Zhang # Description : Get SELECT result in Shell # Variable Definitions # ORACLE_SID=audte

利用shell脚本自动获取awr报表

观察Oracle数据库性能,oracle自带的awr功能为我们提供了一个近乎完美的解决方案,通过awr特性我们可以随时从数据库提取awr报告.通过报告可以了解一个系统的整个运行情况,生成的报告包括多个部分. 如何获取awr报告? 通过awrrpt.sql脚本执行 通过调用ORALCE的包dbms_workload_repository.awr_report_html/dbms_workload_repository.awr_report_text 获取awr报告通常是采用html形式:打开页面比

shell脚本批量获取内网主机的MAC地址

这个shell脚本用来批量获取192.168.4.0/24网段的内网主机的mac地址 #!/bin/bash #Author:Jink #这脚本使用ping和arp命令获取内网主机的MAC地址,查询到的MAC地址写入到文件中 myping(){ ping -c2 -w1 -i0.5 $1 &>/dev/null if [ $? -eq 0 ];then arp $1 | tail -1 | awk '{print $1,$3}'>> /tmp/mactable.txt fi }