如何从Linux shell通过telnet发送字符?
我通过telnet发送命令字符来管理正在运行的程序。我通常一步一步地做:如何从Linux shell通过telnet发送字符?,linux,bash,telnet,Linux,Bash,Telnet,我通过telnet发送命令字符来管理正在运行的程序。我通常一步一步地做: telnet localhost 12345 command-character ctrl+] quit 我是否可以直接从bash发送命令字符,或者如果不可以,编写bash脚本来执行此操作?您需要使用telnet吗?我会使用netcat(nc) 无论如何,相关线程: 例如: echo'c'| nc本地主机12345 对于“c”,请使用任何其他字符printf“%s'$char”>/dev/tcp/localhost/
telnet localhost 12345
command-character
ctrl+]
quit
我是否可以直接从bash发送命令字符,或者如果不可以,编写bash脚本来执行此操作?您需要使用telnet吗?我会使用netcat(
nc
)
无论如何,相关线程:
例如:
echo'c'| nc本地主机12345
对于“c”,请使用任何其他字符
printf“%s'$char”>/dev/tcp/localhost/12345
谢谢@CharlesDuffy我的程序提示接收到sigPipe信号。这似乎是由底层系统引起的。意味着您正在向一个封闭的FIFO写入。这可能是由我的程序引起的吗?它确实正常地响应telnet服务请求。当它选择这样做时,FIFO另一端的任何东西都是负责关闭该端的东西。如果您需要详细的控制,顺便说一句,我会使用socat
而不是/dev/tcp
或netcat
。。。但这应该已经包含在链接副本中。答案需要足够完整,即使包含的链接断开,也要独立。“我会使用netcat”不会告诉别人如何使用netcat。好的,谢谢,编辑。这就是为什么我提供了与相关线程的链接。谢谢@pstanko。使用此命令,我的程序接收到字符,但它保留在telnet会话中,并且没有退出。