在描述 Expect 的页面中,它是这样写的:
例如,下面的示例等待来自当前进程的“connected”,或者来自 $proc2 命名的 spawn_id 的“busy”、“failed”或“invalid password”。
expect { -i $proc2 busy {puts busy\n ; exp_continue} -re "failed|invalid password" abort timeout abort connected }
据我了解,该期望中的所有内容仅与命名的spawn_id$proc2
相关,而当前spawn_id不相关。
那是因为-i
标志(如第一次引用之前所写):
...声明命名 spawn_id 列表的输出与任何以下模式匹配(直到下一个 -i)。
也许代码没有按预期编写?