ITPub博客

首页 > Linux操作系统 > Linux操作系统 > shell中获取系统日期的前一天,且日期格式要求是6位

shell中获取系统日期的前一天,且日期格式要求是6位

原创 Linux操作系统 作者:edeed 时间:2019-07-02 21:33:05 0 删除 编辑

有时候写shell的时候要求把日期作为shell的输入参数,如果不输入则默认为系统日期的前一天,且日期格式要求是6位。

#获取输入的充值日期参数或者系统日期的前一天
if [ $# -eq 1 ]
then
dat=$1
else
year=`date +%Y`
mon=`date +%m`
day=`date +%d`
day=`expr $day - 1`
if [ $day -eq 0 ]
then
mon=`expr $mon - 1`
if [ $mon -eq 0 ]
then
mon=12
year=`expr $year - 1`
fi
lastline=`cal $mon $year | grep "[0-9]" | tail -1`
day=`echo $lastline | sed "s/.* ([0-9][0-9]*)/1/"`
fi

if [ ${#mon} -eq 1 ]
then
mon="0$mon"
fi

if [ ${#day} -eq 1 ]
then
day="0$day"
fi
dat="$year$mon$day"
fi


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10881/viewspace-178068/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 双机热备概念
请登录后发表评论 登录
全部评论

注册时间:2002-04-30

  • 博文量
    59
  • 访问量
    52180