我正在编写一个perl脚本,我需要在日志文件中grep特定行或字符串或文本,该日志文件存在于使用" Expect"连接的远程机器中。来自我的perl脚本的模块。并且,如果该行存在于文件中,那么我必须打印输出通过或失败。
希望这很清楚,
以下是我正在尝试的代码:
$var1->send("grep Expected sea*\n");
打击"预期的海洋*"来自日志文件。如何将此行或字符串传递给变量以及如何将其打印通过或失败。
答案 0 :(得分:0)
Send
将输出回显到pty,如果在命令执行后尝试捕获输出,则需要使用exp_after。
An example say:
my $cmd = "your grep cmd";
my $output;
[
qr"yourhostname",
sub {
$spawn_ok =1;
my $val1 = shift;
$var1->send("$cmd; exit \n");
exp_continue;
}
],
[
qr"Expected sea*", #you can match some string
sub {
my $val1 = shift;
$output = $val1->exp_after; #output of grep
exp_continue;
}
],
print $output; # from here you can use $output to parse and with if condition you can print yes or no
这是我试过的关闭..希望这也有助于你检查[cpan](http://search.cpan.org/~rgiersig/Expect-1.15/Expect.pod“Expect”)