Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

dateコマンドで翌月末日を出す

実際のところ

$ LANG=C gdate -d "+2 month -$(($(gdate +%d))) days" +%m%d
0531
$ LANG=C gdate -d "-$(($(gdate +%d))) days" +%m%d
0331

あるいは、1日前を示すlast day(または yesterday)という構文をつかう手も。
ただし、EMONTHとは違うため「2ヶ月後初日の1日前」という少々回りくどい事をする必要があります。

$  LANG=C gdate --date "`gdate --date "2 month" +%Y%m01` last day" +%m%d 
0531

参考もと

l-w-i.net