期望:期望的顺序

时间:2010-10-05 10:39:43

标签: expect

我正在尝试使用expect通过telnet自动与远程设备进行交互。 在某些时候,设备会生成如下输出:

;
...
COMPLETED
...
;

我需要的是让我的脚本在“COMPLETED”关键字和第二个“;”之后退出被发现。但是我的所有人都失败了。脚本要么在第一次昏迷后退出,要么根本不退出,悬挂。请帮忙。

2 个答案:

答案 0 :(得分:2)

期待有效。

我指出了这一点,因为 facha 已经写过“那个(可能是更新的脚本,而不是Expect本身)不能正常工作”一次。期望很少有错误 - 但对于大多数程序员和管理员来说,它是如此陌生,以至于很难辨别出如何与之交谈。格伦对

的建议
expect -re {COMPLETE.+;}

exp_internal 1

(或命令行上的 -d 等等)完全符合目标:从我所知道的一切来看,这些正是在这种情况下采取的前两个步骤。

我会稍微猜测一下:从目前为止提供的证据来看,我想知道期望匹配是否真正进入COMPLETE段。此外,请注意,如果一个人正在远程登录的设备足够松散,即使看起来像“COMPLETE”那样无辜的东西也可能实际上嵌入了控制字符。在这种情况下,您唯一的希望是采用exp_internalautoexpect之类的调试技术。

答案 1 :(得分:1)

如何:expect -re {COMPLETED.+;}

相关问题