(前にも似たようなの書いてるけど、)dateコマンドで指定した月の月末日を取得する場合は以下のようにする。
date -d "-1 days + 1 month $(date -d '-1days + 1 month <年>/<月>'/1+%Y%m01)"
blacknon@BS-PUB-UBUNTU-01:~$ date -d "-1 days + 1 month $(date -d '-1days + 1 month 2015/10'/1 +%Y%m01)"
2015年 10月 31日 土曜日 00:00:00 JST
blacknon@BS-PUB-UBUNTU-01:~$ date -d "-1 days + 1 month $(date -d '-1days + 1 month 2017/10'/1 +%Y%m01)"
2017年 10月 31日 火曜日 00:00:00 JST
blacknon@BS-PUB-UBUNTU-01:~$ date -d "-1 days + 1 month $(date -d '-1days + 1 month 2016/10'/1 +%Y%m01)"
2016年 10月 31日 月曜日 00:00:00 JST
blacknon@BS-PUB-UBUNTU-01:~$ date -d "-1 days + 1 month $(date -d '-1days + 1 month 1999/10'/1 +%Y%m01)"
1999年 10月 31日 日曜日 00:00:00 JST