我使用嵌入式系统,我可以通过串行调试端口进行调试。我想使用它的cli接口,可以在调试控制台中使用telnet localhost
访问(甚至在系统完全启动之前)。问题是,cli接口在随机启动时Connection closed by foreign host.
随机启动(这种行为在系统中无法更改)。
这是后台,我的问题是,是否有任何方法或技巧可以为我所有期望命令(在某些特定范围内)永久设置模式 - 动作对?我想设置这样的东西:
expect "Connection closed by foreign host." { error "cli closed" }
在我处理cli内容的所有tcl proc
中的所有expect命令中使用它,然后我将从主程序中调用proc
catch
,并且可以处理断开。如果我不能永久地设置这个模式 - 动作对,我必须在我的所有expect
命令中包含它,这将非常繁琐(或使用某种状态而不是多个expect命令,这将是偶数更乏味..)
欢迎解决此问题的任何其他想法!
答案 0 :(得分:3)
有expect_before
命令:expect_before中定义的模式和操作被“导入”到每个子请求expect
命令中。所以,你想要:
expect_before "Connection closed by foreign host." { error "cli closed" }