我必须通过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
。
答案 0 :(得分:3)
您可能需要考虑使用提供capture2
方法的Net::OpenSSH:
($output, $errput) = $ssh->capture2(\%opts, @cmd)
捕获远程计算机上
stdout
发送给stderr
和@cmd
的输出。