将带有空格的变量传递给数组

时间:2016-10-22 13:06:54

标签: arrays bash

我正在使用bash脚本解析HTML页面并提取(使用grepsed

    string number one
    string number two
    string number three
    etc

在解析循环中为$str,后跟

    array+=($str)

使用

打印数组时
    for each in "${array[@]}"
    do
        echo "$each"
    done

我最终得到了

    string
    number
    one
    string
    number
    ....

显然,在数组中添加新元素时,空格被用作分隔符,但我似乎无法弄清楚如何将整个字符串作为元素传递!

1 个答案:

答案 0 :(得分:2)

为避免在空格上拆分数组的每个元素,您应该双引号变量:

array+=("$str")