У меня было требование отправить команду на удаленное устройство, и всякий раз, когда он запрашивает «Нажмите CTRL + C, чтобы прервать, другой ключ, чтобы продолжить ...», я должен снова отправить «Enter key» на удаленное устройство.
Я написал ниже сценарий, но почему-то он не работает.
my $session = new Net::Telnet (
Timeout => 30,
Prompt=> '/>/',
Input_log =>\*STDOUT
);
$session->open('device-id');
$session->login('admin','admin');
print "connected and logged in \n\n";
print "Kindly wait till output stored in FILE \n\n";
my @output1=$session->cmd('DSP PATCH:;');
if ($session->waitfor('/Press CTRL+C to break, other key to continue.../')) {
$session->print(''); # Assuming default is \n for print command
}
print @output1;
Вывод приведенного выше сценария:
connected and logged in
Kindly wait till output stored in FILE
.
.
some output of command send...........
.
Press CTRL+C to break, other key to continue...
и время ожидания.
Любая идея, как отправить ввод, пока мое удаленное устройство не попросит меня нажать ввод.