スイッチに接続するスクリプトを作成しましたが、問題は、それを表示すると一部しか表示されず、残りがサイズ (--More) として表示されることです。すべての構成を表示するにはどうすればよいですか。ありがとうございます
use Net::OpenSSH;
use warnings;
use Expect;
my $password = 'admin';
my $enable = '';
my $ip = '192.16.25.39';
my $username='user';
my $ssh = Net::OpenSSH->new("$username:$password\@$ip", timeout => 200) ;
$ssh->error and die "unable to connect to remote host: ". $ssh->error;
my $output = $ssh->capture({stdin_data => "enable\n"."admin%\n"."show vlan"."\n"});
if ($output) {print $output . ' ';}
my $line;
print "\n";
# closes the ssh connection
$ssh->close();
私はExpectモジュールでこれを試しました:
use Net::OpenSSH;
if ($output) {
print $output . ' ';
my $expect = Expect->init($output);
$expect->raw_pty(1);
#$expect->debug(2);
my $debug and $expect->log_stdout(1);
while(<$pty>) {
print "$. $_ "
}
}
このエラーが発生します:
/usr/local/share/perl5/Expect.pm 行 202 の非参照値を bless できません (#1) (F) ハード参照のみ bless できます。これが、Perl がオブジェクトのカプセル化を「強制」する方法です。perlobj を参照してください。ユーザー コードからのキャッチされない例外: /usr/local/share/perl5/Expect.pm 行 202 で非参照値を bless できません。/usr/local/share/perl5/Expect.pm 行 202 で。Expect::exp_init ("Expect", "\x{d}\x{a}witch>enable\x{d}\x{a}password:\x{d}\x{a}switch#show vlan\x{d} \x{a}\x{d}\x{a}VLA"...) b.pl 行 19 で呼び出されます"