期待'-i'标志

时间:2013-11-12 17:58:23

标签: expect

page that describes Expect中写道:

  

例如,以下示例等待来自的“已连接”   当前进程,或“忙”,“失败”或“无效密码”   spawn_id由$ proc2命名。

expect {
    -i $proc2 busy {puts busy\n ; exp_continue}
    -re "failed|invalid password" abort
    timeout abort
    connected
}

据我了解,期望的所有内容仅与$proc2命名的 spawn_id 相关,而当前的 spawn_id 则不相关。
那是因为-i标志(在第一次引用之前写的):

  

...声明匹配命名的spawn_id列表的输出   对任何以下模式(直到下一个-i)。

也许代码没有按预期编写?

1 个答案:

答案 0 :(得分:0)

多尔,我检查过期待书(Don Libes's "Exploring Expect"),你说的没错。

如果在expect块中使用了-i标志,那么该块中的所有内容都将尝试将生成的进程的输出与-i之后指示的id匹配。

所以,根据Don Libes的说法,那个页面所说的是错误的。我会和Don Libes一起去看看这个。 : - )

也许你可以向他们报告,以便他们可以修复它?