perl Expect中的before
来源:互联网 发布:电脑听新闻的软件 编辑:程序博客网 时间:2024/06/10 20:47
$exp
->
send
(
$string
);
$exp
->expect(
$timeout
,
[
qr/expect_something/
i,
sub
{ do_something);exp_continue; }],
);
$s
=
$exp
->
before
();
# $s就得到 匹配expect_somthing之前的字符串,如果匹配失败,得到所有的输出。
所以在下面的示例中,必须加这一句$exp->expect(1, undef);,才能获得vsx命令的输出结果
my $exp = Expect->new;
my $cmd = "ssh $FIR_USER\@$FIREWALL";$exp->spawn($cmd) or die "cannot spawn $cmd:$!\n";
$exp->expect(3,
[qr/\(yes\/no\)\?/i, sub{
$exp->send("yes\n");
exp_continue;
}],
[qr/$FIREWALL's\s*password:/i, sub{
$exp->send("$FIR_PSW\r");
}]
);
$exp->expect(3,
[qr/admin@\w+>/i, sub{
$exp->send("vxs\n");
}]
);
$exp->expect(1, undef); //必须加这一句,因为before得到的是上一个匹配之前的字符串,这里得到的是undef之前的输出,即vsx的输出
my $out = $exp->before();
$exp->soft_close();
if($out =~ m/enter\s*the\s*vxWorks\s*shell/is){
$is_product = 0;
}
print "out:$out\n";
print "is_product:$is_product\n";
0 0
- perl Expect中的before
- PERL Expect
- perl expect
- [Perl] use Expect
- Perl Expect.pm expect()异常、
- Expect模块安装 Perl脚本
- Perl实现的Expect的telnet应用
- perl的expect发送特殊字符问题
- perl expect 实现非交互式远程登录
- redhat下安装perl的Expect
- 用nc和perl expect 模拟服务
- Perl Net::SSH::Expect.pm 包详解
- header中的expect
- http中的expect
- perl 中的 ".."
- perl 中的 <>
- perl 中的$/
- css中的before,after
- soundtouch 变声使用和算法
- mysql 触发器
- dns关闭ipv6
- No repository found containing: osgi.bundle,org.tigris.subversion.clientadapter.javahl,1.9.3
- Linux下的粘滞位详解
- perl Expect中的before
- 剑指offer——二叉树中和为某一值的路径
- 在docker上编译openjdk8
- pure virtual function can has a function body
- 二叉树的四种遍历(java代码)
- java游戏之迷宫
- 串口编程—(3)串口编程
- tensorflow函数--sparse_softmax_cross_entropy_with_logits
- iOS-MJRefresh框架底层实现原理