2012-09-05 44 views
0

如果我使用終端窗口telnet到設備並輸入show,它打印配置它會打印一定數量的行並在底部打印-- more --,您可以按在鍵盤上返回或空格幾次以獲得命令的其餘部分,直到它全部顯示在屏幕上,你知道它是如何。使用getline()或getlines()獲取所有行的Net :: Telnet

隨着

$t->print('show'); 

問題既不是

while (my $line = $t->getline()) { 
    print $line; 
} 

my @lines = $t->getlines(All => 0); # or All => 1 

給了我所有的行,就在幾起與終端窗口。

我不能使用cmd()ExpectNet::OpenSSH在該框(腳本運行的機器,即時通訊不談論設備),沒有gcc,並有一個殘缺的包管理器。 (閱讀:無法安裝IO::Pty

我能做些什麼來獲得命令輸出的其餘部分?

+0

問題依然存在,我不得不通過找到一個返回配置小部分的命令來解決問題。 – Recct

回答

1

如果您使用的show沒有關閉其分頁的選項,請在每頁之後等待按鍵,您必須在適當的時間輸入->print(''),然後發送連續字符。

+1

忘記我有這個問題打開heh。是的,這是在一些有問題的設備上做的,有時我會在我的一個簡短的'sleep()'之後發送''''''''''''工作但它比沒有好。 – Recct

相關問題