使用Ruby打开命令提示符时Telnet无效
当我手动打开命令提示符并键入以下命令时,我从正在ping的服务器得到响应使用Ruby打开命令提示符时Telnet无效,ruby,shell,telnet,Ruby,Shell,Telnet,当我手动打开命令提示符并键入以下命令时,我从正在ping的服务器得到响应 telnet <server> <port> 它会很好地打开提示,但命令本身不起作用,我不知道为什么会这样。接下来的一些好步骤是: 使用找到telnet.exe,然后调用system,路径为telnet.exe 我建议使用,而不是system,这样您就可以通过STDIN、STDOUT和STDERR与实际的telnet程序进行交互 最后,我建议您不要使用上述任何选项,因为它公开了一个比包装Wind
telnet <server> <port>
它会很好地打开提示,但命令本身不起作用,我不知道为什么会这样。接下来的一些好步骤是:
- 使用找到
,然后调用telnet.exe
,路径为system
telnet.exe
- 我建议使用,而不是
,这样您就可以通过system
、STDIN
和STDOUT
与实际的telnet程序进行交互STDERR
- 最后,我建议您不要使用上述任何选项,因为它公开了一个比包装Windows Telnet客户端更容易使用的API李>
- 接下来的一些好步骤是:
- 使用找到
,然后调用telnet.exe
,路径为system
telnet.exe
- 我建议使用,而不是
,这样您就可以通过system
、STDIN
和STDOUT
与实际的telnet程序进行交互STDERR
- 最后,我建议您不要使用上述任何选项,因为它公开了一个比包装Windows Telnet客户端更容易使用的API李>
不在运行cmd.exe
(或任何ruby shell)的位置 您需要将完整路径传递到irb
,包括任何转义,例如cmd.exe
C:\some\folder\path\to\cmd.exe
system('start C:\some\folder\path\to\cmd.exe')
不在您运行cmd.exe
(或任何ruby shell)的位置 您需要将完整路径传递到irb
,包括任何转义,例如cmd.exe
C:\some\folder\path\to\cmd.exe
system('start C:\some\folder\path\to\cmd.exe')
你需要更具体地告诉我。什么是由cmd.exe运行的?你是如何调用命令或启动ruby的?你能把这个问题分解成更小的步骤吗?如果你打开一个
实例并在那里键入你的命令怎么办?当我运行系统('start cmd.exe')时,它正在执行命令提示符可执行文件(打开命令提示符)。然后,我在使用上一个命令打开的命令提示符中手动输入telnet命令,我看到错误消息,您需要更具体地告诉我。由irb
cmd.exe运行的是什么?您如何调用该命令或启动ruby?您能将此问题分解为更小的步骤吗?如果打开
实例并键入在您的命令中?当我运行系统('start cmd.exe')时,它正在执行命令提示符可执行文件(以打开命令提示符)。然后,我在使用上一个命令打开的命令提示符中手动输入telnet命令,我看到错误消息Don't use back slash with a double quoted string。您正在询问问题,因为有几个反斜杠+字母组合被解释为转义字符。相反,请做简单的事情,使用前向斜杠并让R我试着用以下命令使用这两个完整路径:system(“start C://\Windows/\System32/\/cmd.exe”)这会按预期打开提示,但telnet仍然会发出提示arises@aswerlein511当然,那么您需要遵循David的解决方案,使用irb
ruby lib进行调试,不要将反斜杠与双引号字符串一起使用。因为有几个反斜杠+字母组合被解释为转义,所以您会问问题相反,做一件简单的事,使用斜杠,让Ruby为您处理它们。Open3
我尝试使用以下命令使用这两个完整路径:system(“start C://\Windows/\System32/\/cmd.exe”)这会按预期打开提示,但telnet仍然会发出提示arises@aswerlein511当然,那么您需要遵循David的解决方案,使用“\some\folder\path\to\cmd.exe”\35;=>“ome\folderpath\to\rd.exe”
ruby lib进行调试感谢David的响应。我无法从ruby中执行telnet.exe…但我确实使用了您提到的net telnet gem,它能够做我需要的。谢谢!谢谢David的回复。我无法从Ruby中执行telnet.exe…但我确实使用了你提到的net telnet gem,它可以做我需要的。谢谢!Open3
- 使用找到