#!/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 #结束
转载于:https://blog.51cto.com/liy607/1340899