先月の最後の日付を取得する必要があります。
今日の最後の月の最終日は 30 (4 月) です。
私のコメントdate -d 'last month'
は間違っていました。
これは機能します:
date -d "-$(date +%d) days -0 month"
このようにテストするために日付を変更しました:
$ date
Web May 29 14:06:36 CEST 2013
$ date -d "-$(date +%d) days -0 month"
Tue Apr 30 14:06:36 CEST 2013
参照: http://databobjr.blogspot.nl/2011/06/get-first-and-last-day-of-month-in-bash.html
m=`date +%m`
set -A mth Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
prevmth=${mth[$((m - 1))]}
echo $prevmth