shell 判断给定日期是否是月底
#!/bin/bash datebeg=$1 dateend=$2 set -e beg_s=` date -d "$datebeg" +%s` end_s=` date -d "$dateend" +%s` while((end_s>=beg_s)) do incdate=`date -d @$beg_s +%Y%m%d` y=`date -d ''$incdate' 0 days' +%Y` m=`date -d ''$incdate' 0 days' +%m` d=`date -d ''$incdate' 0 days' +%d` if [ $(date -d ''$incdate' 0 days' +%d) -eq $(cal $m $y |xargs|awk '{print $NF}') ] then echo "是月底,执行该天:$incdate" #请属于需要执行的命令 else echo "不是月底,跳过该天:$incdate" fi ((beg_s+=86400)) done