0

我必须通过通过 Expect 模块执行的 SSH 连接到远程机器。如果可能,我必须单独访问STDERR/STDOUT并查看输出。我可以重定向脚本的输出,例如

$command = "ssh <script> 2>/tmp/stderr.output"
$exp = Expect->spawn($command) or die "Cannot spawn\n";;
my @command1= $exp->expect(5);

但后来我必须再次远程连接才能检查stderr.output。有没有一种方法可以期望单独返回STDERR/ STDOUT

4

1 回答 1

3

您可能需要考虑使用Net::OpenSSH,它提供了一种capture2方法:

($output, $errput) = $ssh->capture2(\%opts, @cmd)

捕获发送到远程计算机stdout和远程计算机stderr上的输出@cmd

于 2012-04-08T13:03:12.827 回答