1

我需要使用 Net::SSH2 读取程序输出。我的问题是隐藏在程序输出底部的一些数据。在 ssh 模式下,我需要在键盘上输入“Return”才能查找下一个。这对于在 perl 脚本中使用很尴尬 =)。我知道 Net::OpenSSH 做得很好,但我确实需要使用 Net::SSH2。有谁知道,我怎样才能得到它?谢谢!

UPD:下面的一些代码

my $ch = $ssh2->channel();

$ch->blocking(0);
$ch->shell();

print $ch "dir\n";
print $_ while <$ch>;

在这段代码中,我在底部打印带有终端“--More--”提示的命令输出。Simple Net::OpenSSH "capture" 方法同时返回一个完整的数据:

my @dirlist = $ssh->capture('dir');

是否可以使用 Net::SSH2 做同样的事情?

4

0 回答 0