如何将输入参数放置在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<这能回答您的问题吗?这回答了你的问题吗?