2D bash配列:これは可能ですか?

2D bash配列:これは可能ですか?

2D bash配列が必要な場合はこれをN x M行うための推奨方法はありますか?array1array2要素を定義するためにケースステートメントを組み合わせる必要があったことが何度もありましたが、arrayNこれは非常に不器用でした。M

大きな配列を定義し、要素間の1-1マッピングを計算することが可能であることを知っていますが、X正しく実行するには多くの作業が必要なようです。X[something][i,j]

これを合理的かつ効率的に実行できる機能セットはありますか?私はこれがBashがFORTRANを模倣するのと少し似ていることを知っています。

ベストアンサー1

いつでも多次元配列を使用する配列に切り替えることができますksh93bash最初はほとんどの項目がその構文を借用します)。

var=(
  (a b)
  (c d)
)

使用:

$ print -r -- "${var[0][1]}"
b

すべての要素を繰り返します。

for i in "${!var[@]}"; do
  for j in "${!var[$i][@]}"; do
    print -r "var[$i,$j]=${var[$i][$j]}"
  done
done

おすすめ記事