Expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnet、ftp、Passwd、fsck、rlogin、tip、ssh等等.该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11的图形用户界面中.
当然Perl也集成了Expect模块
my $exp = Expect->new; $exp = Expect->spawn("command"); $exp->expect(2, [ 'password', sub { my $self_scp = shift; $self_scp->send("$pass\n"); } ], [ '\(yes/no\)?', sub { my $self = shift; $self->send("yes\n"); exp_continue; } ], ); $exp->send("exit\n") if ($exp->expect(undef,'#')); |
上述是一个简单的Expext示例.
command填写要触发的执行命令
password 和 \(yes/no\)?可理解为匹配的正则
$pass与yes均为正则匹配后自动输入的字符(必须跟\n)
相关推荐
这是从Expect模块的正式manual里提取出来的,虽然看起来有点费眼,但是还是很有用的。网上有关Expect的信息不算很多,这个可以做很好的补充。
Expect.pm:Expect Perl模块的官方源代码
Perl批量远程执行指令脚本 批量远程执行命令的小工具 1.支持把主机分组执行命令 2.支持切换用户来执行命令 ...3.需要两个模块:XML::Simple.pm, Net::SSH::Expect.pm(已经集成在文件夹下, 无需安装)
Expect.pm是Don Libes受欢迎的Tcl / Tk的Expect扩展的perl实现。 您还可以在这里找到IO :: Tty和IO :: Stty Perl模块。
Expect-5.43.0 DejaGNU-1.4.4 GCC-4.0.3 - 第二遍 Binutils-2.16.1 - 第二遍 Ncurses-5.5 Bash-3.1 Bzip2-1.0.3 Coreutils-5.96 Diffutils-2.8.1 Findutils-4.2.27 Gawk-3.1.5 Gettext-0.14.5 Grep-...
作为一种脚本语言,Tcl与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可编程特性(变量、流程控制和过程),使你可以将现有...
本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。...
Expect — Expect Functions fam — File Alteration Monitor Functions FDF — Forms Data Format Functions Fileinfo — Fileinfo Functions filePro — filePro Functions Filesystem — Filesystem 文件系统函数...
Expect — Expect Functions fam — File Alteration Monitor Functions FDF — Forms Data Format Functions Fileinfo — Fileinfo Functions filePro — filePro Functions Filesystem — Filesystem 文件系统函数...
26. 以 Apache 模块安装时 27. 文件系统安全 28. 数据库安全 29. 错误报告 30. 使用 Register Globals 31. 用户提交的数据 32. 魔术引号 33. 隐藏 PHP 34. 保持更新 V. 特点 35. 用 PHP 进行 HTTP 认证 36. Cookie ...
25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 29. 使用 Register Globals 30. 用户提交的数据 31. 魔术引号 32. 隐藏 PHP 33. 保持更新 V. 特点 34. 用 PHP 进行 HTTP 认证 35. Cookie ...
25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 29. 使用 Register Globals 30. 用户提交的数据 31. 魔术引号 32. 隐藏 PHP 33. 保持更新 V. 特点 34. 用 PHP 进行 HTTP 认证 35. Cookie ...
26. 以 Apache 模块安装时 27. 文件系统安全 28. 数据库安全 29. 错误报告 30. 使用 Register Globals 31. 用户提交的数据 32. 魔术引号 33. 隐藏 PHP 34. 保持更新 V. 特点 35. 用 PHP 进行 HTTP 认证 ...
The purpose of the Action is to "Convert the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn_t otherwise because of incompatibility ...