我有要求发送命令到远程设备,并且每当它要求“按CTRL + C打破,其他键继续...”我应该再次发送“回车键“到远程设备。perl Net :: Telnet命中如果远程节点请求输入
我在下面写了scritpt,但不知何故它不起作用。上述脚本的
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...
,然后将其超时。
任何想法如何发送输入命中,直到我的远程设备要求我击中输入。
感谢hasturkun拍摄,你的建议,我设法击中通过进入。脚本....现在的问题是如何将所有输出存储到一个文件...它打印后输入输入... my @ output = $ session-> print('DSP PATCH :;'); ($ session-> waitfor('/ continue /')){ push(@ output,$ session-> print()); push(@ output,$ session-> waitfor('/ continue /'));如果有人帮助如何存储STDOUT中包含的所有东西,我的问题将得到解决.... – Mahesh
好吧,我通过.... Input_log => \ * FILE1它将所有输出存储到文件句柄:FILE1。 ...........非常感谢您的帮助......问候:Mahesh – Mahesh