【发布时间】:2011-10-25 05:48:12
【问题描述】:
我正在尝试编写一个使用 Net::Telnet 代码的 perl 模块,但问题在于提示。我正在为其他用户编写应用程序,但不确定他们可能有什么提示模式。有没有办法在运行时获得提示?
【问题讨论】:
我正在尝试编写一个使用 Net::Telnet 代码的 perl 模块,但问题在于提示。我正在为其他用户编写应用程序,但不确定他们可能有什么提示模式。有没有办法在运行时获得提示?
【问题讨论】:
提示的默认值在几乎所有情况下都应该相当不错。
它会查找以# 或$ 或% 后跟空格结尾的任何字符串。 # 由 root 使用,% 由 C 样式 shell 使用,$ 由 BASH 和 Kornshell 等 Bourne 样式 shell 使用。
如果您使用 Telnet,很可能您正在登录的帐户可以使用默认提示。
我更喜欢使用Net::SSH::Perl,而不用担心用户提示。 Net::SSH::Perl 更安全,我可以传输文件,或者用它执行命令。
【讨论】:
Net::SSH::Perl 更好的选择
由于远程端的 Telnet 会产生一个新的 shell 会话,(您是对的)它取决于用户的配置文件,提示符的样子。 shell 从PS1 变量中读取提示格式是很常见的。因此,您需要执行以下操作:
echo $PS1
\u@\h:\w>
阅读提示的外观。
【讨论】: