我必须添加一个命令为许多vlans,并想知道如果我可以生成一个简单的文本文件? 然后,我可以简单地将文本文件粘贴到networking交换机中,并添加所需的行。
基本上,这个单一的命令:
ip dhcp-relay 10.32.150.129 10.32.50.1 enable
将需要连续执行,随着.50增加1。
所以它会是,.50,.51,.52,.53 ……
所以它会生成一个文件,如:
ip dhcp-relay 10.32.150.129 10.32.50.1 enable ip dhcp-relay 10.32.151.129 10.32.51.1 enable ip dhcp-relay 10.32.152.129 10.32.52.1 enable
等等…
这是我的脚本
#!/bin/bash if xy=50 echo "ip dhcp-relay 10.32.150.129 10.32.50.1 enable" >> pastethisinswitch.txt echo "ip dhcp-relay 10.32.1xy.129 10.32.xy.1 enable" >> pastethisinswitch.txt xy+1 until xy=99 done
描述它非常简单:
for k in {50..99}; do echo ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable; done > pastethisinswitch.txt
但它只能以这种方式扩展到99。
你可以像这样扩展到254:
for k in {50..154}; do echo ip dhcp-relay 10.32.$(expr 100 + $k).129 10.32.$k.1 enable; done > pastethisinswitch.txt
你原来的尝试看起来有点像这样的工作forms:
#!/bin/bash k=50 while [ "$k" -lt "100" ]; do echo "ip dhcp-relay 10.32.1$k.129 10.32.$k.1 enable " >> outfile k=$((k+1)) done
但许多替代forms也将起作用。