Arrays 将带空格的变量传递到数组中
我正在用bash脚本解析一个HTML页面并提取(使用Arrays 将带空格的变量传递到数组中,arrays,bash,Arrays,Bash,我正在用bash脚本解析一个HTML页面并提取(使用grep和sed) 作为解析循环中的$str,后跟 array+=($str) 当使用 for each in "${array[@]}" do echo "$each" done 我最终得到了 string number one string number .... 很明显,在数组中添加新元素时,空格被用作分隔符,但我似乎不知道如何将整个字符
grep
和sed
)
作为解析循环中的$str
,后跟
array+=($str)
当使用
for each in "${array[@]}"
do
echo "$each"
done
我最终得到了
string
number
one
string
number
....
很明显,在数组中添加新元素时,空格被用作分隔符,但我似乎不知道如何将整个字符串作为元素传递 为避免在空白处拆分数组的每个元素,应双引号引用变量:
array+=("$str")
除非证明不是这样,否则未加引号的参数扩展是错误的。我发现你的评论很搞笑,而且非常重要,要将其提交到memory@chepner,谢谢你的评论。我确信我在测试中测试了引号,显然不是。谢谢你的帮助!
array+=("$str")