我正在尝试将带有空格的字符串存储到数组中。我使用 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
要遍历每个项目在单独行上的输入,您必须将 IFS 设置为换行符。
您可以执行以下操作以将项目读取到数组中。
declare -a new
IFS=$'n'
new=${temp}