当我在bash中打印字典时,前导0是什么?



获取所有节点IP和端口号

node_ip_port=$(ringsh supervisor ringStatus DATA |grep "Node:"|awk '{print $3}' |awk 'BEGIN {FS=":"} {print $1, $2}')
echo ${!node_ip_port[*]}$'n'
for port in "${!node_ip_port[@]}"; do
echo "$port ${node_ip_port[$port]}"
done

我的输出

0
0 172.16.254.101 8084
172.16.254.101 8085
172.16.254.101 8086
172.16.254.101 8087
172.16.254.101 8088
172.16.254.101 8089
172.16.254.102 8084
172.16.254.102 8085
172.16.254.102 8086
172.16.254.102 8087
172.16.254.102 8088
172.16.254.102 8089
172.16.254.103 8084
172.16.254.103 8085
172.16.254.103 8086
172.16.254.103 8087
172.16.254.103 8088
172.16.254.103 8089
172.16.254.104 8084
172.16.254.104 8085
172.16.254.104 8086
172.16.254.104 8087
172.16.254.104 8088
172.16.254.104 8089
172.16.254.105 8084
172.16.254.105 8085
172.16.254.105 8086
172.16.254.105 8087
172.16.254.105 8088
172.16.254.105 8089
172.16.254.106 8084
172.16.254.106 8085
172.16.254.106 8086
172.16.254.106 8087
172.16.254.106 8088
172.16.254.106 8089

我发现了我的错误,首先我有一个大小为1的数组,其中包含一个字符串,这是一个问题。然后"0"在不知情的情况下打印了数组的索引。回到绘图板,结案了。

最新更新