一、for循环
功能:将端口划入同一vlan。
将10.240.210.29交换机上的1到36端口划入vlan210
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<code>#!/usr/bin/expect -f</code>
<code>#set HOST [lindex $argv 0]</code>
<code>#set PORT [lindex $argv 0]</code>
<code>#set vlan [lindex $argv 1]</code>
<code>set</code> <code>vlan 210</code>
<code>for</code> <code>{</code><code>set</code> <code>PORT 1 } {$PORT <= 36} {incr PORT} {</code>
<code> </code><code>spawn telnet 10.240.210.29</code>
<code> </code><code>sleep</code> <code>1</code>
<code> </code><code>expect </code><code>"Username:"</code>
<code> </code><code>send </code><code>"admin\r"</code>
<code> </code><code>expect </code><code>"Password:"</code>
<code> </code><code>send </code><code>"E7qsZy0A02yu\r"</code>
<code> </code><code>send </code><code>"sys\r"</code>
<code> </code><code>send </code><code>"int GigabitEthernet 1/0/$PORT\r"</code>
<code> </code><code>send </code><code>"undo shutdown\r"</code>
<code> </code><code>send </code><code>"port access vlan $vlan\r"</code>
<code> </code><code>send </code><code>"loopback-detection enable vlan 1 to 4094\r"</code>
<code> </code><code>send </code><code>"stp edged-port\r"</code>
<code> </code><code>send </code><code>"quit\r"</code>
<code> </code><code>interact</code>
<code>}</code>
二、while循环结合自定义文件
功能:将端口划入不同的vlan
将10.240.210.7交换机上的43、44端口分别划入vlan210、vlan310
将端口与vlan号按一下格式写入port_vlan.list文件,第一列为端口号,第二列为vlan号。
<code>root@extmail scripts$cat /var/lxh/scripts/port_vlan.list </code>
<code>43 210</code>
<code>44 310</code>
33
34
35
36
37
38
39
<code>set</code> <code>file</code> <code>"/var/lxh/scripts/port_vlan.list"</code>
<code>set</code> <code>fd [</code><code>open</code> <code>$</code><code>file</code> <code>r]</code>
<code>while</code> <code>{[gets $fd line]>=0 } {</code>
<code> </code><code>set</code> <code>PORT [lindex $line 0]</code>
<code> </code><code>set</code> <code>vlan [lindex $line 1]</code>
<code> </code><code>spawn telnet 10.240.210.7</code>
<code> </code><code>sleep</code> <code>1 </code>
<code> </code><code>send </code><code>"loopback-detection enable\r"</code>
<code> </code><code>send </code><code>"loopback-detection action semi-block\r"</code>
<code> </code><code>send </code><code>"stp edged-port enable\r"</code>
<code>close $fd</code>
<code>exit</code> <code>0</code>
<code></code>
本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1666333,如需转载请自行联系原作者