当我将任何命令传递给telnet会话时会发生什么,为什么会话关闭

时间:2012-12-04 06:49:12

标签: bash shell telnet

当我将任何命令传递给telnet会话时会发生什么,为什么会话关闭。如何给出一个可以是进程而不是关闭连接的命令。

我正在尝试

echo“xvz”| telnet 0 abc 试试0.0.0.0 ...... 连接到0。 逃脱角色是'^]'。

这会终止会话而不是处理xyz,我还尝试了其他方式

telnet 0 xyz<测试
试试0.0.0.0 ...... 连接到0。 逃脱角色是'^]'。 连接到0由外国主机关闭。

3 个答案:

答案 0 :(得分:1)

telnet不处理标准输入和标准输出。

您应该检查其他程序,例如'expect'。

答案 1 :(得分:0)

尝试eval

eval "{ echo; 
        sleep 5;
        echo 'xvz'; 
        sleep 10; }" | telnet your_host

使用sleep来保持打开连接;尝试不同的延迟时间。

答案 2 :(得分:0)

echo要发送的命令,然后使用cat保持连接打开。

{ echo "commands to send"; cat -; } | telnet localhost 8080

打开连接后,您可以照常键入命令,但是不能将转义符发送到telnet。

要关闭连接,请按Ctrl + C。