Expect脚本:用户与进程交互及相关技术详解
1. 引言
在脚本编程中,实现与用户和进程的交互是一项常见且重要的任务。尤其是在需要处理密码输入、控制终端参数以及执行程序等场景下,掌握有效的交互方法至关重要。本文将详细介绍如何使用 send
、 expect
等命令在同一脚本中与用户和进程进行交互,同时探讨密码安全、终端模式设置、程序执行及重定向等相关问题。
2. 与用户和进程交互的命令
2.1 send_user命令
- 功能概述 :在
Expect
启动时,send
和send_user
都可将字符串发送到标准输出。但当进程被生成后,send
将字符串发送到生成的进程,而send_user
仍将字符串发送到标准输出。 - 示例代码 :以下是一个改进后的
ftp - rfc
脚本示例,通过添加log_user
和send_user
命令,使脚本在运行时能输出有用的信息,方便用户了解进程状态。
#!/usr/local/bin/expect --
# retrieve an RFC (or the index) from uunet via anon f