Bash 4における多次元配列による反復

Bash 4における多次元配列による反復

Bash(バージョン4.3.30)でハッシュリストを定義したいです。

  • ゲートウェイ4個
  • すべてのゲートウェイに
    • IP
    • IP6
    • 名前
    • ...

このリストを繰り返して、各ゲートウェイでいくつかのタスクを実行したいと思います。

たくさん確認してみましたが、bashは多次元配列をサポートしていないと思いますか?

ベストアンサー1

bashまだ多次元配列はありません。のみksh93

ここでは、配列を使用せずにcsvに似た構造を使用できます。

#! /bin/sh -
gws="\
foo,1.1.1.12,1::1
blah,2.2.2.2,2::2"

while IFS=, read name ip4 ip6; do
  echo something with "$name" "$ip4"...
done << E
$gws
E

(バッシュも必要ありません)

そしてksh93

gws=(
  (name=foo  ip4=1.1.1.1 ip6=1::1)
  (name=blah ip4=2.2.2.2 ip6=1::2)
)

printf '%s\n' "${gws[0].name}"

おすすめ記事