[英]How to run multiple instance from a tcl script
我有一个tcl脚本。 在那我创建了3 telnet会话到服务器。 但是,我想同时连续地对所有telnet运行命令集。 实现它的最佳方法是什么。
For Ex: For 1st Telent session : i run "show ospf"
For 2nd Telent session : i run "show interfaces"
For 3rd Telent session : i run "show eigrp"
我同时并连续执行上述命令。 直到指定的计数。
这是我们很久以前使用的一些代码。
set commands [ list ]
lappend commands "no ip prefix-list DDOS permit $c_targetip/24"
lappend commands "ip prefix-list DDOS seq $data permit $c_targetip/24"
lappend commands "router bgp"
lappend commands "network $c_targetip/24"
lappend commands "exit"
lappend allconnections "br2.sjc1"
lappend allconnections "br3.lax3"
lappend allconnections "br6.lax10"
lappend allconnections "br7.lax10"
# spawn all connections
foreach conn $allconnections {
spawn telnet $conn
lappend spawn_id_list $spawn_id
}
# run expect script for all connections individually
foreach id $spawn_id_list {
# this is important - for unknown (to me) reasons
set spawn_id $id
set timeout 30
expect_after {
timeout { catch { close }; wait; return 2 }
eof { catch { close }; wait; return 1 }
}
expect {
"Username: " {
send "$user\r"
exp_continue
}
"Password: " {
send "$password\r"
exp_continue
}
"#" {
send "configure terminal\r"
}
}
expect "(config)#"
foreach command $commands {
send "$command\r"
expect ")#"
}
send "exit\r"
expect "#"
send "exit\r"
expect ">"
send "exit\r"
expect "closed"
exp_close
exp_wait
}
return 0;
}
`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.