我正在尝试使用 bash 脚本创建 F5 命令,该脚本循环遍历两个序列声明,一个用于 IP 地址,另一个用于 VLAN,然后我在最后将它们连接起来。
#!/bin/bash
vlan_seq=$(seq 1010 1010;seq 1012 1024;seq 1054 1054;seq 1146 1161)
ip_seq=$(seq 10 10;seq 12 24;seq 54 54;seq 146 161)
for i in $ip_seq; do
ip_part=$(echo net self 10.189.${i}.1 "{" address 10.189.${i}.1/24)
done
for e in $vlan_seq; do
vlan_part=$(echo floating enabled traffic-group traffic-group-1 unit 1 vlan
vlan_${e}_int_compute "}")
done
echo ${ip_part} ${vlan_part}
这似乎有效,但我刚刚得到最后一个结果,我对如何解决这个问题有些困惑。我应该通过什么循环来获得所有结果?
net self 10.189.161.1 { 地址 10.189.161.1/24 浮动启用流量组流量组 1 单元 1 vlan vlan_1161_int_compute }
设法找到更好的方法来做到这一点:
#!/bin/bash
vlan_seq=($(seq 1010 1010;seq 1012 1024;seq 1054 1054;seq 1146 1161))
ip_seq=($(seq 10 10;seq 12 24;seq 54 54;seq 146 161))
for ((i=0;i<${#ip_seq[@]};++i)); do
printf "net self 10.189.%s.1 { address 10.189.%s.1/24 floating enabled traffic-group traffic-group-1 unit 1 vlan vlan_%s_int_compute }\n"
"${ip_seq[i]}" "${ip_seq[i]}" "${vlan_seq[i]}"
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句