info txt
[root@node3 test_dict]
host_ips,10.10.200.84
host_names,node1
map use
[root@node3 test_dict]
csv="./all_config.csv"
ips=$(grep 'host_ips' ${csv} | awk -F ',' '{print $2}' | tr -s '#' ' ')
names=$(grep 'host_names' ${csv} | awk -F ',' '{print $2}' | tr -s '#' ' ')
echo ${ips[*]}
echo ${names[*]}
declare -A map_hosts
for (( i=0; i<${#ips[*]}; i++ ))
do
map_hosts[${ips[$i]}]="${names[$i]}"
done
echo ${!map_hosts[*]}
echo ${map_hosts[*]}
exec shell
[root@node3 test_dict]
10.10.200.84 10.10.200.49 10.10.200.50
node1 node2 node3
10.10.200.84 10.10.200.49 10.10.200.50
node1 node2 node3
Map 使用详解
定义 Map
declare -A map
初始化 Map
map[key1]="value1"
map[key2]="value2"
map[key3]="value3"
输出所有 key
echo ${!map[*]}
输出所有 value
echo ${map{*}}
输出 map 长度
echo ${#map{*}}
遍历 – 根据 key 找到 value
for key in ${!map{*}}
do
echo ${map[${key}]}
done
遍历 – 所有 key
for key in ${!map{*}}
do
echo ${key}
done
遍历 – 所有 value
for value in ${map{*}}
do
echo ${value}
done
参考