#!/bin/bash
read -n 8 -p "input your time:" date1
echo ''
read -p "input your number:" N
echo ''
read -n 1 -p "please input "+" else input "-":" f
echo ''
Y=${date1:0:4}
M=${date1:4:2}
D=${date1:6:2}
DN=`expr $D + $N`
DN3=`expr $D - $N`
if [ $f = "+" ]
then
case $M in
01)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
02)
if [ $(($Y%4)) -eq 0 ]&&[ $(($Y%100)) -ne 0 ]||[ $(($Y%400)) -eq 0 ]
then
if [ $DN -le 29 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 29 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 29`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
else
if [ $DN -le 28 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 28 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 28`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
fi
;;
03)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
04)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
05)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
06)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
07)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
08)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
09)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
10)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
11)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
12)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
*)
echo '月份请输入01~12之间的数字'
;;
esac
elif [ $f = "-" ]
then
case $M in
01)
if [ $DN3 -gt 0 ]
then
printf '%02d' $Y $M $DN3
elif [ $DN -lt 0 ]
then
MN=`expr $M - 1`
DN4=`expr 31 - $DN3`
printf '%02d' $Y $MN $DN4
else
echo "input your number"
fi
;;
02)
if [ $(($Y%4)) -eq 0 ]&&[ $(($Y%100)) -ne 0 ]||[ $(($Y%400)) -eq 0 ]
then
if [ $DN -le 29 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 29 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 29`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
else
if [ $DN -le 28 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 28 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 28`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
fi
;;
03)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
04)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
05)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
06)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
07)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
08)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
09)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
10)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
11)
if [ $DN -le 30 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 30 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 30`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
12)
if [ $DN -le 31 ]
then
printf '%02d' $Y $M $DN
elif [ $DN -gt 31 ]
then
MN=`expr $M + 1`
DN2=`expr $DN - 31`
printf '%02d' $Y $MN $DN2
else
echo "input your number"
fi
;;
*)
echo '月份请输入01~12之间的数字'
;;
esac
else
echo "请输入+或者-号"
fi