有时候写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