news 2026/6/10 5:33:21

8、调试模式与控制输出:探索Expect脚本的高级技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8、调试模式与控制输出:探索Expect脚本的高级技巧

调试模式与控制输出:探索Expect脚本的高级技巧

1. 模式调试

在编写模式时,有几个关键要点需要注意。首先,要清楚构建模式的规则;其次,理解在Tel中表达模式的规则;最后,要明确预期字符串中的字符。任何一个步骤的误解都可能导致编写的模式无法匹配。

当模式未能按预期匹配时,脚本执行速度通常会变得非常缓慢。例如,以下登录脚本片段本应快速执行:

expect "Login: " send "don\r" expect "Password: " send "swordfish\r"

但在典型系统上,该片段可能需要20秒才能执行完毕,而非1 - 2秒。这里存在两个问题:
-模式大小写问题:第一个模式期望的是 “Login: “,但在典型的UNIX系统中,登录提示是 “login: “,脚本会等待10秒(默认超时时间),超时后expect命令返回,用户不会收到模式匹配失败的通知。
-模式空格问题:”Password: ” 模式末尾有一个空格字符,但实际收到的提示是 “Password:”,没有末尾空格。同样,脚本会等待10秒。

为了找出问题所在,可以使用exp_internal 1命令让Expect打印内部操作的诊断信息。以下是使用该命令的脚本:

spawn telnet uunet.uu.net exp_internal 1 ex
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:36:17

10、Expect 脚本使用与命令行参数详解

Expect 脚本使用与命令行参数详解 一、Expect 简介 Expect 对操作系统而言只是一个普通程序,但它具备一些常见程序和解释器的特性: - 程序特性 : - 拥有标准输入、标准输出和标准错误,可进行读写和重定向操作。 - 能在命令行使用 & 后台运行,也可通过 cron …

作者头像 李华
网站建设 2026/6/10 10:31:02

Path of Building终极指南:5大核心技巧精准优化流放之路构筑

还在为《流放之路》复杂的装备词缀和天赋搭配而困扰吗?Path of Building作为业界公认的离线构筑规划器,能够帮助你在投入游戏前就精准诊断问题、智能推演方案、实战验证效果,让你的角色构筑从此告别盲目试错。 【免费下载链接】PathOfBuildin…

作者头像 李华
网站建设 2026/6/9 21:10:37

3分钟搞定Android权限管理:从崩溃到优雅处理的全流程指南

3分钟搞定Android权限管理:从崩溃到优雅处理的全流程指南 【免费下载链接】XXPermissions Android 权限请求框架,已适配 Android 14 项目地址: https://gitcode.com/GitHub_Trending/xx/XXPermissions 还在为Android权限申请的各种坑而烦恼吗&…

作者头像 李华
网站建设 2026/6/8 7:52:56

超轻量OCR技术:开启工业自动化文字识别的终极指南

超轻量OCR技术:开启工业自动化文字识别的终极指南 【免费下载链接】chineseocr_lite 超轻量级中文ocr,支持竖排文字识别, 支持ncnn、mnn、tnn推理 ( dbnet(1.8M) crnn(2.5M) anglenet(378KB)) 总模型仅4.7M 项目地址: https://gitcode.com/gh_mirro…

作者头像 李华
网站建设 2026/6/6 16:15:52

COMET翻译评估:5步构建智能质量监控体系

COMET翻译评估:5步构建智能质量监控体系 【免费下载链接】COMET A Neural Framework for MT Evaluation 项目地址: https://gitcode.com/gh_mirrors/com/COMET 在机器翻译日益普及的今天,如何准确评估翻译质量成为了每个项目团队必须面对的关键挑…

作者头像 李华
网站建设 2026/6/7 9:36:59

18、深入探索后台处理与 Expect 脚本的高级应用

深入探索后台处理与 Expect 脚本的高级应用 在自动化任务的执行过程中,将脚本置于后台运行是一种非常实用的技巧。这样可以避免终端被占用,让我们能够同时进行其他工作。本文将详细介绍后台处理的一些微妙之处,包括如何将 Expect 脚本置于后台运行、如何断开与前台的连接、如…

作者头像 李华