首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何搜索Expect变量

如何搜索Expect变量
EN

Stack Overflow用户
提问于 2015-08-29 03:25:20
回答 1查看 783关注 0票数 1

我正在开发一个expect脚本,该脚本连接到交换机,然后显示接口的配置。然后我分析这个输出来检查某些事情。我想要存储我正在检查的一件事情的输出,我正试图通过$expect_out(缓冲区)进行搜索来完成这一任务,尽管我很难找到如何做到这一点。

我该怎么做呢?

脚本如下所示(去掉不必要的内容):

代码语言:javascript
复制
send "show running-config interface $intf\r"
log_user 0
expect "#"
if {[string match "*service-policy input Access-Port*" $expect_out(buffer)]} {
    set servicepolicy "yes"
} else {
    set servicepolicy "no"
}
if {[string match "*mls qos trust dscp*" $expect_out(buffer)]} {
    set mlsqos "yes"
} else {
    set mlsqos "no"
}
if {[string matc "*Description*" $expect_out(buffer)]} {
    EXTRACT DESCRIPTION STRING FROM $expect_out(buffer)
}

$expect_out(缓冲区)的输出通常如下所示:

代码语言:javascript
复制
Current configuration : 559 bytes
!
interface GigabitEthernet1/0/17
 description blablabla
 switchport mode access
 switchport voice vlan xxxxx
 no logging event link-status
 authentication event fail retry 0 action authorize vlan xxxxx
 authentication event no-response action authorize vlan xxxxx
 authentication host-mode multi-domain
 authentication port-control auto
 authentication violation restrict
 mab
 no snmp trap link-status
 dot1x pae authenticator
 dot1x timeout tx-period 5
 dot1x timeout supp-timeout 10
 no mdix auto
 spanning-tree portfast
 service-policy input Access-Port
end

“从$expect_out(缓冲器)提取描述字符串”行是我试图找出的部分。我知道如何拆分行来获取描述,但我只是不知道如何从缓冲区变量中提取行本身。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-29 12:03:57

使用regexp命令和-line选项:

代码语言:javascript
复制
% regexp -line {^\s*description (.*)$} $expect(buffer) -> desc
1
% puts $desc
blablabla

我想描述不是多行的。

另外,如果你只需要一个布尔值,

代码语言:javascript
复制
set servicepolicy [string match "*service-policy input Access-Port*" $expect_out(buffer)]

或者,做这个

代码语言:javascript
复制
set servicepolicy [expr {[string match "*service-policy input Access-Port*" $expect_out(buffer)] ? "yes" : "no"}]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32282412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档