AKAI TSUKI

System development or Technical something

try to use hash in Bash

This is sample script.

[root@pm01 ~]# cat get_log.sh
#!/bin/bash

nodes=(
vm01
vm02
vm03
)

declare -A IP_ADDRESSES;
IP_ADDRESSES=(
  ["vm01"]="192.168.122.62"
  ["vm02"]="192.168.122.68"
  ["vm03"]="192.168.122.12"
  ["vm04"]="192.168.122.11"
)

declare -A PORTS;
PORTS=(
  ["vm01"]="10021"
  ["vm02"]="10022"
  ["vm03"]="10023"
  ["vm04"]="10024"
)

cnt=0
for node in "${nodes[@]}"
do
    echo "$cnt => $node"
    echo ${IP_ADDRESSES[${node}]}
    echo ${PORTS[${node}]}
    echo ""
    let cnt++
done

[root@pm01 ~]#

Try to execute this script.

[root@pm01 ~]# sh get_log.sh
0 => vm01
192.168.122.62
10021

1 => vm02
192.168.122.68
10022

2 => vm03
192.168.122.12
10023

[root@pm01 ~]#