如何获取从数组中获取的变量值
iparray=("ip1" "ip2" "ip3")
ip2=127.0.0.1
ip2=127.0.0.2
ip2=127.0.0.3
for ips in ${iparray[@]}; do
for value in $ips; do
echo $ips $value
done
done
我的输出如下
ip1 ip1
ip2 ip2
ip3 ip3
但我需要输出如下
ip1 127.0.0.1
ip2 127.0.0.2
ip3 127.0.0.3
提前致谢
答案 0 :(得分:0)
您可以将IP地址放在关联数组中,然后使用该键访问地址:
iparray=("ip1" "ip2" "ip3")
declare -A ip
ip[ip1]=127.0.0.1
ip[ip2]=127.0.0.2
ip[ip3]=127.0.0.3
for ips in ${iparray[@]}; do
echo $ips ${ip[$ips]}
done
答案 1 :(得分:0)
这是一个变量变量的情况。 在bash中,您可以使用$ {!variable}来处理它。
将for循环修改为
for ips in ${iparray[@]}; do
echo $ips ${!ips}
done
输出结果为:
ip1 127.0.0.1
ip2 127.0.0.2
ip3 127.0.0.3