import pexpect # importing the python-expect
child = pexpect.spawn ('telnet x.x.x.x y')
child.expect ('Hit [Enter] to boot immediately, or space bar for command prompt.', 300)
child.send ('x20')
if child.expect ('loader>' or 'OK ', 10):
child.sendline ('boot -s')
我在这里要做的是:
- 通过解析启动顺序自动登录到设备的单用户模式。
- 通过控制台端口使用终端服务器连接到设备。 $ 我正在使用 pexpect,因为引导顺序是单行输出。
- pexpect 分别为 'loader>' 或 'OK ' 工作并执行下一行,但不能一起执行。
根据手册:
expect(pattern, timeout=-1, searchwindowsize=-1, async=False)
这将通过流进行查找,直到匹配模式。模式已重载,可能需要几个 类型。模式可以是字符串类型、EOF、已编译的 re 或任何这些类型的列表。字符串将是 编译为 RE 类型。这会将索引返回到模式列表中。如果模式不是列表,则返回 成功匹配时的索引 0。
[...]