`

Perl Expect模块

 
阅读更多

ExpectUnix系统中用来进行自动化控制和测试的软件工具,由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)

分享到:
评论

相关推荐

    Perl Expect参考手册(英文)

    这是从Expect模块的正式manual里提取出来的,虽然看起来有点费眼,但是还是很有用的。网上有关Expect的信息不算很多,这个可以做很好的补充。

    Expect.pm:Expect Perl模块的官方源代码

    Expect.pm:Expect Perl模块的官方源代码

    Perl批量远程执行指令脚本

    Perl批量远程执行指令脚本 批量远程执行命令的小工具 1.支持把主机分组执行命令 2.支持切换用户来执行命令 ...3.需要两个模块:XML::Simple.pm, Net::SSH::Expect.pm(已经集成在文件夹下, 无需安装)

    Expect.pm-开源

    Expect.pm是Don Libes受欢迎的Tcl / Tk的Expect扩展的perl实现。 您还可以在这里找到IO :: Tty和IO :: Stty Perl模块。

    Linux 完全定制指南(中文)

    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_TK编程权威指南pdf

    作为一种脚本语言,Tcl与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可编程特性(变量、流程控制和过程),使你可以将现有...

    RED HAT LINUX 6大全

    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。...

    PHP5 完整官方 中文教程

    Expect — Expect Functions fam — File Alteration Monitor Functions FDF — Forms Data Format Functions Fileinfo — Fileinfo Functions filePro — filePro Functions Filesystem — Filesystem 文件系统函数...

    PHP5中文参考手册

    Expect — Expect Functions fam — File Alteration Monitor Functions FDF — Forms Data Format Functions Fileinfo — Fileinfo Functions filePro — filePro Functions Filesystem — Filesystem 文件系统函数...

    PHP手册2007整合中文版

    26. 以 Apache 模块安装时 27. 文件系统安全 28. 数据库安全 29. 错误报告 30. 使用 Register Globals 31. 用户提交的数据 32. 魔术引号 33. 隐藏 PHP 34. 保持更新 V. 特点 35. 用 PHP 进行 HTTP 认证 36. Cookie ...

    PHP5 开发手册 简体中文手册

    25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 29. 使用 Register Globals 30. 用户提交的数据 31. 魔术引号 32. 隐藏 PHP 33. 保持更新 V. 特点 34. 用 PHP 进行 HTTP 认证 35. Cookie ...

    php帮助文档,php。chm,php必备的中文手册

    25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 29. 使用 Register Globals 30. 用户提交的数据 31. 魔术引号 32. 隐藏 PHP 33. 保持更新 V. 特点 34. 用 PHP 进行 HTTP 认证 35. Cookie ...

    PHP官方手册中文版

    26. 以 Apache 模块安装时 27. 文件系统安全 28. 数据库安全 29. 错误报告 30. 使用 Register Globals 31. 用户提交的数据 32. 魔术引号 33. 隐藏 PHP 34. 保持更新 V. 特点 35. 用 PHP 进行 HTTP 认证 ...

    外文翻译 stus MVC

    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 ...

Global site tag (gtag.js) - Google Analytics