我正在使用expect-lite与路由器通信。但是路由器有一些自定义的横幅消息集,并且期望它似乎不能很好地工作。具体来说,当我登录路由器时,光标位于以下位置。
*********************************************** * * * some unuseful info here.. * * * ***********************************************($cursor)
通常我可以在交互式shell中输入,然后它可以将我带到正常的路由器shell,我预期“*”然后发送一个新行字符,但它似乎不能正常工作。 / p>
你能否对此有所了解?
感谢。
答案 0 :(得分:2)
我要做的是在脚本开头的某处添加exp_internal 1
,这样您就可以看到预期接收的内容,以及为什么它与您的模式不匹配。
如果您需要一些帮助来解释从中获得的内容,请随意将该信息添加到问题中。
答案 1 :(得分:0)
使用expect
的默认选项(“glob”模式,记录为here),*
是一个通配符,可以匹配任何内容(包括任何内容)。确保你期待一个文字星号:
expect -re {\*$}
这里我使用正则表达式来查找锚定在字符串末尾的星号。