在shell脚本中将月份添加到可变日期

Sha*_*nil 3 linux shell sh

我有一个传递给shell脚本的日期,必须在其中加上一个月。例如:

passed_date=2017-06-01
Run Code Online (Sandbox Code Playgroud)

我需要添加1个月:

converted_date=2017-07-01
Run Code Online (Sandbox Code Playgroud)

我如何在shell脚本中实现这一目标。我尝试将日期转换为自纪元以来的秒数,然后添加1个月,例如:

date +%s -d 20170601 -d "+1 month"
Run Code Online (Sandbox Code Playgroud)

然后将秒转换回yyyy-mm-dd

date -d@$(date +%s -d 20170601 -d "+1 month") +%Y-%m-%d
Run Code Online (Sandbox Code Playgroud)

但基本上是将当前系统日期添加1个月

Jed*_*edi 7

您似乎在寻找:

date -d "20170601+1 month" +%Y-%m-%d
Run Code Online (Sandbox Code Playgroud)

-d在同一命令中使用多个标志时,date似乎仅使用最后一个。

当然,随意更换20170601$VAR含有任何日期。