我正在尝试将带空格的字符串存储到数组中。我已经使用了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
答案 0 :(得分:3)
要在单独的行上迭代每个项目的输入,您必须将IFS设置为换行符。
您可以执行以下操作来将项目读取到数组中。
declare -a new
IFS=$'\n'
new=${temp}