2014-12-15 8 views
0

После игры с аденом зависимости с сервером, у которого нет доступа к Интернету, я наконец смог запустить скрипт. Проблема, я получаю следующее сообщение об ошибке, и я понятия не имею, как найти то, что отсутствует или неправильно:Почему при использовании Net :: Appliance :: Session возникает ошибка «Отсутствуют необходимые аргументы: личность, транспорт»?

Missing required arguments: personality, transport at (eval 50) line 75. 

Код:

#!/usr/bin/perl 

use Net::Appliance::Session; 

my $s = Net::Appliance::Session->new(Host => '10.9.217.144', Transport => 'SSH',); 
$s->connect(Name => 'cworks', Password => '****'); 

print $s->cmd('show dialer | i :'); 
print "*********************\n**********************\n"; 
print $s->cmd('show ISDN stat | i ACTIV'); 
print "*********************\n**********************\n"; 
print $s->cmd('show ver'); 

$s->close; 

ответ

1

Согласно documentation, метод new имеет два обязательных аргументы:

личность => $ имя (обязательно)

Сообщает модуль, который «язык» используется при разговоре с подключенным устройством, например ios для устройств Cisco IOS. В документации Phrasebook есть список всех поддерживаемых платформ. Также можно писать новые разговорники.

транспорт => $ бэкенд (обязательно)

Название транспортного бэкэндом, используемого для сеанса, который может быть одним из Telnet, SSH или последовательный.

Вам нужно изменить Transport к transport и добавить personality вариант, как в примере, в документации:

my $s = Net::Appliance::Session->new({ 
    personality => 'ios', 
    transport => 'SSH', 
    host => 'hostname.example', 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^