我有类似的东西:
#!/bin/bash
#numero di nodi cache della edge network
NCACHES=$1
#creo vm manager (dello swarm) e balancer
docker-machine create -d virtualbox manager
docker-machine create -d virtualbox balancer
#creo le restanti NCACHES-1 VM
for i in {0..NCACHES-1}
do
echo "Creating VM $i"
docker-machine create -d virtualbox worker$i
done
docker-machine create -d virtualbox backend
IPManager="$(docker-machine ip manager)"
echo "IP VM swarm manager=$IPManager"
IPBalancer="$(docker-machine ip balancer)"
echo "IP VM balancer=$IPBalancer"
for i in {0..NCACHES-1}}
do
IPCache$i="$(docker-machine ip worker$i)"
echo "IP worker$i=IPCache$i"
done
我希望在最后一个循环中,我不知道如何将I索引传递给"$(docker-machine ip worker$i)"
命令,然后将IPCache$i
设置为返回的值。那我不知道如何呼应所有这些IP地址。
使用数组。
IPCache=()
for ((i = 0; i < NCACHES; i++))
do
IPCache+=("$(docker-machine ip worker$i)")
echo "IP worker$i=${IPCache[i]}"
done