date 首先将月份减一,然后判断日期的合理性,若不合理并进行修正,修正为正常日期
有一些人会在计算这个的时候,认为是Linux 的bug,这在哲学上属于提出了假定前提,一种是假定自己的逻辑是对的,一种是假定作者是对的
一个命令的存在 , 更应该为假定为先验的概念存在
也就是说应该假定作者是对的,这样推力下去才更有可能找到根据该命令可实现的更为简单的方法逻辑
当然,并不是说不允许怀疑,当你有想法去相信一件事之前,一定要有怀疑的想法,当你准备去怀疑它的时候,一定要假定它是真的。
获取 “当前日子,两个月前是几月” 可以这样写:
day=`date +%d`
if [ $day -gt 28 ] ; then
date -d '-2 months -3 days' '+%Y%m%d'
else
date -d '-2 months' '+%Y%m%d'
fi