如何从bash中的循环创建字符串列表?

如何从bash中的循环创建字符串列表?,bash,list,for-loop,Bash,List,For Loop,我有以下循环: for chr in {1..3}; do futureList="${variable1} ${variable2}" done 我想修改它,以便futureList在每个连续的周期中附加一组新的变量。预期结果应如下所示: echo $futureList string1 string2, string3 string4, string5 string6 etc 这是使用阵列的良好用例: var1='string1' var2='string2' futureList=

我有以下循环:

for chr in {1..3};
do
futureList="${variable1} ${variable2}"
done
我想修改它,以便futureList在每个连续的周期中附加一组新的变量。预期结果应如下所示:

echo $futureList

string1 string2, string3 string4, string5 string6 etc

这是使用阵列的良好用例:

var1='string1'
var2='string2'

futureList=() # declare an array

for i in {1..5}; do
   futureList+=("$var1 $var2") # inside loop append value to array
done

# check array content
# decclare -p futureList
# or use printf
printf '%s\n' "${futureList[@]}"


我会这样做的

n=1
for chr in {1..3}; do
  array1+=("string$n") array2+=("string$((n+3))")
  ((n++))
done
将格式化输出保存在变量futurelist中

printf -v futurelist '%s %s, ' "${array1[@]}" "${array2[@]}"
检查输出

echo "$futurelist"
输出

string1 string2, string3 string4, string5 string6, 

我很肯定有人会想出更多的方法来做得更好。

这与期望的输出如何匹配?不,这更多的是关于增加字符串[n]的问题“而且不仅仅是重复字符串1…5 timesOP提到的
futureList在每个连续循环中附加一组新的变量
,这显然可以在while循环中轻松完成,以实现任何输出。当你比较他想要的输出时,这不是正确的英语
string1 string2, string3 string4, string5 string6,