私はbashスクリプトを学ぶのが初めてで、このコードを書く方法が混乱しています。
array1=(23 34 23 12 11 32 12 12 12 21)
array2=(12 13 14 43 42 23 32 11 10 22)
これは2つの配列で、要素の合計(23 + 12、34 + 13など)を取得する必要があります。出力は、Result 1: xx
配列内のすべての10要素の(合計)でなければなりません。 Cスタイルループを使用してこれをどのようにコーディングできますか?
ベストアンサー1
別のオプションは次のとおりです。
#!/bin/bash
array1=(23 34 23 12 11 32 12 12 12 21)
array2=(12 13 14 43 42 23 32 11 10 22)
for ((i = 0; i < ${#array1[@]} && i < ${#array2[@]}; i++)); do
printf "Result %2d: %d\n" $((i + 1)) $((array1[i] + array2[i]))
done
例を実行してください:
Result 1: 35
Result 2: 47
Result 3: 37
Result 4: 55
Result 5: 53
Result 6: 55
Result 7: 44
Result 8: 23
Result 9: 22
Result 10: 43
スクリプトはゼロから始まり、最も短い配列の長さまでループで実行されます(将来の変更によって、ある配列が他の配列よりも長くなる場合に備えて)。ループを通過するたびにi番目の項目の結果を印刷します。