Expect脚本调试与输出控制全解析
1. 模式匹配与诊断示例
在进行网络连接和交互时,我们会遇到模式匹配和诊断的情况。例如,在尝试连接到 ftp.uu.net 时,会有如下交互:
"Password:"? no
login:
expect: does "Trying 192.48.96.9 ...\r\nConnected to
ftp.uu.net.\r\nEscape character
is `^]'.\r\n\r\n\r\nSunOS UNIX (ftp)\r\n\r\r\n\rlogin: " match glob
pattern "login:
"? yes
当匹配到 login: 模式时,会执行相应操作,如发送 don\r 。之后又会继续匹配 Password: 模式,匹配成功后发送密码 swordfish\r 。不过这个脚本比较“笨拙”,无论登录是否成功,都会继续寻找 login: 或 Password: 模式。但它足以展示 exp_internal 命令能提供的诊断信息。
2. 启用内部诊断
在长脚本中,能够关闭 Expect 的内部诊断是很方便的。可以使用 exp_internal 0 命令来关闭诊断,也可以根据需要随时打开或关闭。以下是几种控制诊断输出的方式:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



