bashに次の2つの配列(または1つ以上の配列!)があるとします。
a=(1 0 1)
b=(0,1,1)
どのように組み合わせるのですか?
c=(1 1 2)
各要素を加えるとcが出ますか?
ベストアンサー1
まず、配列定義はbash
配列,
要素間にはなく、単に次のように定義されます。
a=(1 0 1)
b=(0 1 1)
同じインデックス内の要素の合計で新しい配列を作成するには、両方の配列インデックスの1つを繰り返します(両方の場合、配列の長さが同じであると仮定します)。
for idx in "${!a[@]}"; do
c[idx]=$(( a[idx] + b[idx] ))
done
繰り返しインデックスを使用することに加えて、${!a[@]}
伝統的なCスタイルのforループを使用して配列の長さを繰り返すこともできます。
for (( idx=0; idx < ${#a[@]}; idx++ )); do
最後に、結果を新しい配列に印刷するには、次のようにします。
printf '%s\n' "${c[@]}"