変数に複数のオプションを送信する方法

変数に複数のオプションを送信する方法

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[@]}"確かにあなたは何をしているのか知っています。 

おすすめ記事