如何使用tcl / expect捕获Cisco Nexus设备上的计数端口?

时间:2015-04-01 19:35:37

标签: tcl expect cisco

我编写了一个脚本来捕获Cisco Nexus设备上连接端口的数量,如下所示:

命令思科:

example01#sh interface status | i connected | exclude Po | exclude Lo|count
13
example01#

脚本部分:

send "sh interface status \| i connected \| exclude Po \| exclude Lo \| count\r"
expect -re {([0-9]+)}
set COUNT "$expect_out(0,string)"
puts "$COUNT\r"

问题是设备的主机名也有数字,比如01.当我保存输出时,我看到的只是“01”,而不是我期望的正确输出(这种情况将是13)。

1 个答案:

答案 0 :(得分:0)

我这样做了:

send "sh interface status \| i connected \| exclude Po \| exclude Lo \| count\r"
expect -re {([0-9]+)\r\n}
set COUNT "$expect_out(0,string)"
puts "$COUNT\r"

现在,输出是正确的,因为我使用\r\n创建了换行符。