シェルスクリプトで来月1日を求めるのに以下のように書いていたら、本日(10/31)残念な結果になったのでメモ
# echo `date -d '1 month' +"%Y/%m/1"`
2014/12/1
(;´Д`)
正しくは以下
# echo $(date +%Y/%m/%d -d "-$(($(date +%d)-1)) days + 1 month")
2014/11/01
2014/11/10追記
上記では8日、9日に以下のようなエラーが発生した
08: value too great for base (error token is "08")
以下のように修正して対処
# echo $(date -d "`date '+%Y/%m/01'` 1 months" '+%Y/%m/01')