如何用shell 实现某天减1天的日期:
---------------------------------------------------------------
#!/bin/sh
CurYear=date +%Y
CurMonth=date +%m
CurDay=date +%d
GetYear="$CurYear"
GetMonth="$CurMonth"
GetDay="expr $CurDay - 1"
if [ "$GetDay" -le 0 ] ; then
GetMonth=expr $CurMonth - 1
if [ "$GetMonth" -le 0 ] ; then
GetYear=expr $CurYear - 1
GetMonth=12
fi
case "$GetMonth"
in
1 ¦3 ¦5 ¦7 ¦8 ¦10 ¦12)
GetDay=31;;
4 ¦6 ¦9 ¦11)
GetDay=30;;
2)
if [ expr "$CurYear" % 400 -eq 0 ] ; then
GetDay=29
elif [ expr "$CurYear" % 4 -eq 0 -a expr "$CurYear" % 100 -ne 0 ] ; then
GetDay=29
else
GetDay=28
fi
esac
fi
if [ echo "$GetMonth" ¦ wc -m -ne 3 ] ; then
GetMonth=0$GetMonth
fi
if [ echo "$GetDay" ¦ wc -m -ne 3 ] ; then
GetDay=0$GetDay
fi
echo
echo " === Get Last Date ==="
echo
echo "\t\t""$GetYear""$GetMonth""$GetDay"
echo