【问题标题】:What happens when I pipe any command to a telnet session , why does the session closes当我将任何命令通过管道传输到 telnet 会话时会发生什么,为什么会话会关闭
【发布时间】:2012-11-21 18:16:46
【问题描述】:

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

我在努力

回显“xvz”|远程登录 0 abc 尝试 0.0.0.0... 连接到 0。 转义字符是'^]'。

终止会话而不是进程 xyz ,我还尝试过什么其他方式

telnet 0 xyz 尝试 0.0.0.0... 连接到 0。 转义字符是'^]'。 到 0 的连接被外部主机关闭。

【问题讨论】:

    标签: bash shell telnet


    【解决方案1】:

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

    您应该检查其他程序,例如“期望”。

    【讨论】:

    • 是的,我知道 expect 命令,但不幸的是,我的服务器上没有安装 expect,我想探索其他选项
    • 嗨,谁能帮我解决这个问题。我可以使用 &> 选项捕获命令产生的错误,但无法获得输出,任何帮助都会有用跨度>
    【解决方案2】:

    试试eval:

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

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

    【讨论】:

      【解决方案3】:

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

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

      连接打开时,您可以像往常一样键入命令,但不能将转义字符发送到 telnet。

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

      【讨论】:

        猜你喜欢
        • 2018-07-07
        • 2016-09-14
        • 2019-07-26
        • 1970-01-01
        • 1970-01-01
        • 2013-04-13
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多