#!/bin/bash

#date 计算出现在到你下次生日还有多少天,date +%s 把当前时间换算成秒数,以19700101日开始算

read -p "please input you birth (ex>0912): " a  #提示你输出生日的月日的变量

now=$(date +%m%d)                               #把当前月日设为变量值

if [ "$now" == "$a" ]                           #如果当前日期等于生日时间  

then                                            #那么

echo "happy birthday to you"                    #输出祝福语句

elif [ "$a" -gt "$now" ]                        #如果生日时间大于当前时间

then                                            #则执行下面命令

year=$(date +%Y)                                #把当前的年份设为变量

b=$(date --date "$year$a" +%s)                  #把你今年的生日年月日换算成秒数

c=$(date +%s)                                   #把当前时间换算成秒数

d=$(($(($b-$c))/60/60/24))               #用生日时间秒数减去当前时间秒数再换算成天数

echo "you birthday will be $d later"     #输出还有多少天过生日

else                                     #如果你以经过完生日那么计算明年的生日

year=$(($(date +%Y)+1))                  #把当前年月日加1年

b=$(date --date "$year$a" +%s)           #把明年生日的年月日换算成秒数  

c=$(date +%s)                            #把当前年月日换算成秒数    

d=$(($(($b-$c))/60/60/24))               #用生日时间减去当前时间并换算成天数

echo "you birthday will be $d later"     #输出下次过生日要过的天数

fi                                       #结束