を要求すると私はリモートデバイスにコマンドを送信する必要があり、「CTRL + Cを押して中断し、他のキーを続行してください...」と尋ねるときは、リモートデバイスに「Enterキー」を押します。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 $telnet = Net::Telnet->new(Timeout => 30,Errmode => 'return');
、あなたの提案に私は経由で入るヒットすることができました。スクリプトは....今、問題はどのようにすべての出力をファイルに保存するのですか?それは打ち込んだ後の出力を入力します... my @ output = $ session-> print( 'DSP PATCH :;'); while($ session-> waitfor( '/ continue /')){ プッシュ(@出力、$セッション - >プリント()); push(@出力、$ session-> waitfor( '/ continue /')); }誰かがSTDOUTに含まれるすべてのものを保存する方法を手助けするなら、私の問題は解決されます.... – Mahesh
OK私はそれを手に入れました.... Input_log => \ * FILE1それはすべての出力をファイルハンドルFILE1に保存します。 ...........あなたの助けをたくさんありがとう...マセル – Mahesh