通过 telnet 连接发送时处理 EOF 字符的位置

通过 telnet 连接发送时处理 EOF 字符的位置

假设我正在连接到正在运行 bash 的 telnet 服务器。我正在执行命令cat > /tmp/qqq;输入文件的一些内容,最后发送 0x0a 0x04,这意味着 EOF。

问题是:如何以及在哪里处理 EOF?它是否会按原样传输到 cat 应用程序,也许 bash 会在收到 EOF 后关闭 cat 的 STDIN,或者它会在 shell 之前由某些驱动程序以某种方式处理?

附言。原始问题:我编写了java应用程序来做所描述的事情。它连接到telnet,运行cat,发送以EOF结束的数据。但是,当 telnet 帐户在 tcsh 下运行时 - EOF 在某处被吃掉,并且 cat 继续期望 EOF 之后的数据。如果 sh 正在 telnet 帐户上运行 - cat 命令在 EOF 后停止。有关该应用程序的更多详细信息请参见此处。

相关内容