Expect 程序使用指南:命令行参数与交互式操作
1. Expect 概述
在操作系统中,Expect 只是一个普通程序,具备常见程序的属性:
- 拥有标准输入、标准输出和标准错误,可进行读写和重定向操作。
- 能通过命令行的 &
符号、 cron
或 at
在后台运行。
- 可被其他程序调用,如 C 程序、shell 脚本、awk 脚本,甚至其他 Expect 脚本。
同时,Expect 也是一个解释器,具备多数解释器的特性:
- 支持 #!
约定。
- 可交互式运行,从键盘获取命令;也可非交互式运行,从脚本或标准输入获取命令。
- 能接受标志或将其传递给脚本。
像大多数解释器一样,Expect 接受文件名作为参数,并将其作为读取命令的来源。例如:
% expect script.exp
若要向脚本传递额外信息,可将其置于命令行末尾:
% expect script.exp foo bar 17
在脚本内部,这些信息存储在变量 argv
中,其值可作为列表进行操作。以下是一个名为 echo.exp
的脚本,用于回显每个参数,并在前面加上其在 argv
中的