2

我正在尝试将带有空格的字符串存储到数组中。我使用过 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
4

1 回答 1

3

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

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

declare -a new
IFS=$'\n'
new=${temp}
于 2012-10-07T06:34:55.070 回答