代码在使用NET :: OPENSSH时继续错误



我写了一个监视脚本以查看一些日志进度,但是我坚持以下代码,

$fh = $ssh->capture("find $servers{$agent}{$log} -mmin +10") or die "Unable to run commandn";
                        chomp($fh);
                        if ($fh) {
                                print "Log are 10 minutes not moving. n";
                        }
                        else {
                                print "Log are running as usual. n";
                        }

此代码将带有以下输出,

无法运行命令

这表明发生了错误,但是我尝试通过ssh手动运行它,命令正常工作。

需要帮助来审查此代码。

如果 find找不到, capture返回一个错误的字符串,这是一个false值,因此die被调用。

您可以检查是否出问题了是否拨打error方法:

my $out = $ssh->capture("find $servers{$agent}{$log} -mmin +10");
$ssh->error and die "Unable to run command: " . $ssh->error;

最新更新