在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)。
也许代码没有按预期编写?
答案 0 :(得分:0)
如果在expect块中使用了-i标志,那么该块中的所有内容都将尝试将生成的进程的输出与-i之后指示的id匹配。
所以,根据Don Libes的说法,那个页面所说的是错误的。我会和Don Libes一起去看看这个。 : - )
也许你可以向他们报告,以便他们可以修复它?