与传递多字参数混淆

与传递多字参数混淆

我缺少一些关于 bash 的基本概念,而且我不知道该用 google 搜索什么!

我正在尝试执行以下操作:

文件future.sh

START_DATE="$1"

NEXT=`date "$START_DATE +3 days"`
echo $NEXT

然后

> ./future.sh "Sep 3 9am"
date: invalid date ‘Sep 3 9am +3 days’

然而,

> date -d "Sep 3 9am +3 days"
Fri Sep  6 09:00:00 CEST 2019

显然,参数传递/字符串构建出了问题。但我不明白!

我还尝试过改变引号、单引号 ( ') 以及使用$(...)反引号代替。

答案1

看起来您的脚本中-d缺少该选项。尝试:

NEXT=`date -d "$START_DATE +3 days"`

相关内容