Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Linux shell通过telnet发送字符?_Linux_Bash_Telnet - Fatal编程技术网

如何从Linux shell通过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发送命令字符来管理正在运行的程序。我通常一步一步地做:

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会话中,并且没有退出。