如何从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,