期望与横幅消息不一致

时间:2013-12-18 16:57:47

标签: expect

我正在使用expect-lite与路由器通信。但是路由器有一些自定义的横幅消息集,并且期望它似乎不能很好地工作。具体来说,当我登录路由器时,光标位于以下位置。

***********************************************
*                                             *
*            some unuseful info here..        *
*                                             *
***********************************************($cursor)

通常我可以在交互式shell中输入,然后它可以将我带到正常的路由器shell,我预期“*”然后发送一个新行字符,但它似乎不能正常工作。 / p>

你能否对此有所了解?

感谢。

2 个答案:

答案 0 :(得分:2)

我要做的是在脚本开头的某处添加exp_internal 1,这样您就可以看到预期接收的内容,以及为什么它与您的模式不匹配。

如果您需要一些帮助来解释从中获得的内容,请随意将该信息添加到问题中。

答案 1 :(得分:0)

使用expect的默认选项(“glob”模式,记录为here),*是一个通配符,可以匹配任何内容(包括任何内容)。确保你期待一个文字星号:

expect -re {\*$}

这里我使用正则表达式来查找锚定在字符串末尾的星号。