【发布时间】:2015-03-30 23:23:34
【问题描述】:
我使用可以通过串行调试端口访问的嵌入式系统进行调试。我想使用它的 cli 接口,可以通过期望在调试控制台中使用telnet localhost 访问(甚至在系统完全启动之前)。问题是,cli 界面会在 Connection closed by foreign host. 接近启动时随机将我踢出去(无法在系统中更改此行为)。
这是背景,我的问题是,是否有任何方法或技巧可以让我为所有期望命令(在某些特定范围内)永久设置模式-动作对?我想设置这样的东西:
expect "Connection closed by foreign host." { error "cli closed" }
并在我所有处理 cli 内容的 tcl proc 中的所有期望命令中使用它,然后我会在主程序中使用 catch 调用我的 proc,并且可以处理断开连接。如果我不能永久设置这个模式-动作对,我必须将它包含在我所有的 expect 命令中,这将非常乏味(或者使用某种状态而不是多个期望命令,这将更加乏味..)
也欢迎任何其他解决此问题的想法!
【问题讨论】: