2011-08-11 56 views
0

我想寫一個使用Net :: Telnet代碼的perl模塊,但問題是提示。我正在爲其他用戶編寫應用程序,不確定他們可能具有的提示模式。有沒有辦法在運行時獲得提示?Perl網:: Telnet模塊

回答

0

由於遠程端的Telnet產生了一個新的shell會話,(你是對的)它取決於用戶的配置文件提示符的樣子。 shell從PS1變量中讀取提示格式是很常見的。因此,您需要執行如下操作:

echo $PS1 
\[email protected]\h:\w> 

瞭解提示的外觀。

+0

That works;)哦是啊 – Anonymous

1

在幾乎所有情況下,提示的默認值都應該很好。

它會查找任何以#$%後跟一個空格結尾的字符串。 #由root使用,%由C Style shell使用,$由Bourne風格shell使用,如BASH和Kornshell。

如果您使用的是Telnet,則很可能您正在登錄默認提示符工作的帳戶。我更喜歡使用Net::SSH::Perl,不用擔心用戶提示。 Net::SSH::Perl更安全,我可以傳輸文件或使用它執行命令。

+0

時下,[Net :: SSH2](http://search.cpan.org/perldoc?Net::SSH2)或[Net :: OpenSSH](http:// search。 cpan.org/perldoc?Net::OpenSSH)可能比'Net :: SSH :: Perl'更好的選擇 – salva

+0

該板不支持ssh :( – Anonymous