如何将输入参数放置在bash脚本单元格上?

如何将输入参数放置在bash脚本单元格上?,bash,Bash,我有 但是它返回了date:invalid date'${startday}+$i days',但我不确定如何构建字符串。大括号扩展{x..y}发生在变量替换$x之前。因此,{0..$x}将不起作用-大括号扩展将不起任何作用,只需扩展x 变量扩展不会发生在单个QOUTE中。因此,'${startday}正好等于字符串的字面意思,并且${…}的扩展不会发生。记住在双引号中加上展开式 在您的情况下,可以使用seq: numdays=$1 startday=$2 # This calculates

我有


但是它返回了
date:invalid date'${startday}+$i days'
,但我不确定如何构建字符串。

大括号扩展
{x..y}
发生在变量替换
$x
之前。因此,
{0..$x}
将不起作用-大括号扩展将不起任何作用,只需扩展
x

变量扩展不会发生在单个QOUTE中。因此,
'${startday}
正好等于字符串的字面意思,并且
${…}
的扩展不会发生。记住在双引号中加上展开式

在您的情况下,可以使用
seq

numdays=$1
startday=$2

# This calculates the dates to retrieve queries
for i in {1..$numdays}; do
  StringArray+=($(date -I -d '${startday} + $i days'))
done
我想:

for i in $(seq $numdays); do
    ... "${startday} + $i days"

readarray-t StringArray<大括号扩展
{x..y}
发生在变量替换之前
$x
。因此,
{0..$x}
将不起作用-大括号扩展将不起任何作用,只需扩展
x

变量扩展不会发生在单个QOUTE中。因此,
'${startday}
正好等于字符串的字面意思,并且
${…}
的扩展不会发生。记住在双引号中加上展开式

在您的情况下,可以使用
seq

numdays=$1
startday=$2

# This calculates the dates to retrieve queries
for i in {1..$numdays}; do
  StringArray+=($(date -I -d '${startday} + $i days'))
done
我想:

for i in $(seq $numdays); do
    ... "${startday} + $i days"
readarray-tstringarray<这能回答您的问题吗?这回答了你的问题吗?