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 に答える