你如何在csh中获得上个月的最后一天?
这是到目前为止的代码。如果您从 (FreeBSD sh) 命令行执行下面的 cal 命令,它几乎可以工作,但我无法正确转义它以在脚本中运行。几乎工作,我的意思是它返回 31,而 2010 年 2 月的最后一天是 28。
#!/bin/csh
set lastdayoflastmonth=`cal `date '+%m'` `date '+%Y'` | grep . | fmt -1 | tail -1`
echo $lastdayoflastmonth
要清楚:
如果今天是 2010 年 3 月 26 日,它应该返回数字 28,即 2010 年 2 月的最后一天。
如果今天是 2010 年 7 月 1 日,它应该返回数字 30,即 2010 年 6 月的最后一天。
更新:Joshua Smith 在下面的评论中收到了有效的回答:date -v31d -v-1m '+%d'
谢谢!