3つの追加変数を生成する変数配列に対してループを実行しています。
つまり
for foo in ${bar[@]};
do bar1=$(echo $foo | awk '{print$1}');
bar2=$(echo $foo | awk '{print$2}');
bar3=$(echo $foo | awk '{print$3}');
done
ただし、ループが完了すると、新しく作成された3つの変数が配列自体である必要があり、forループを実行することもできます。
つまり
for foo in ${bar1[@]}
do echo $foo
done
^^^^複数行を表示する必要があります。
誰でもこれを達成する方法を提案できますか?
ベストアンサー1
使用
bar1+=($(echo $foo | awk '{print$1}'))
つまり、配列に値を追加します。もちろんコードはvariable+=( value )
使用配列bar1
は次のようになります。
for foo in "${bar1[@]}"
do
echo "$foo"
done
もちろん、妥当な理由がない限り、常にシェル変数(たとえば、"$foo"
および)を引用する必要があります。"${bar1[@]}"
確かにあなたは何をしているのか知っています。