将包含空格的字符串存储到Arrays Bash中

时间:2012-10-07 05:40:58

标签: arrays bash whitespace

我正在尝试将带空格的字符串存储到数组中。我已经使用了IFS =“”并注意到这样做了。虽然我有多个字符串,但我的array_size是1。有办法解决这个问题吗?

我正在使用的代码

size=0
declare -a new
for t in ${temp};
do
  new[size++]=$t
done;
for n in ${new[@]};
do
  echo $n end
done;

我的输出是..

my string 1
my string 2
another string 3
another string 3 end

我想要的输出会像这样......

 my string 1 end
 my string 2 end
 another string 3 end

1 个答案:

答案 0 :(得分:3)

要在单独的行上迭代每个项目的输入,您必须将IFS设置为换行符。

您可以执行以下操作来将项目读取到数组中。

declare -a new
IFS=$'\n'
new=${temp}