我正在尝试编写一个使用Net :: Telnet代码的perl模块,但问题是提示。我正在为其他用户编写应用程序,但不确定他们可能具有的提示模式。有没有办法在运行时得到提示?
答案 0 :(得分:1)
几乎在所有情况下,提示的默认值都应该非常好。
它会查找以#
或$
或%
后跟空格结尾的任何字符串。 #
由root使用,%
由C Style shell使用,$
由Bourne样式shell使用,如BASH和Kornshell。
如果您使用的是Telnet,则很可能是您登录的帐户默认提示符有效。
我更喜欢使用Net::SSH::Perl而不用担心用户提示。 Net::SSH::Perl
更安全,我可以传输文件,或用它执行命令。
答案 1 :(得分:0)
由于远程端的Telnet会产生一个新的shell会话,(你是对的)它取决于用户的配置文件提示的样子。 shell通常从PS1
变量读取提示格式。所以你需要执行类似的东西:
echo $PS1
\u@\h:\w>
阅读提示的样子。