Vamos supor que estou me conectando ao servidor telnet, onde o bash está sendo executado.
Estou executando o comando cat > /tmp/qqq
; digitando algum conteúdo de um arquivo e finalmente enviando 0x0a 0x04 que significa EOF.
A questão é: como e onde esse EOF seria processado? Será transmitido como está para o aplicativo cat, talvez o bash feche o STDIN do gato ao receber o EOF ou seja de alguma forma processado por algum driver antes do shell?
PS. problema original: eu escrevi aplicação java fazendo coisa descrita. Ele se conecta ao telnet, executa cat, envia os dados terminados com EOF. Mas quando a conta do telnet está operando sob tcsh - o EOF é comido em algum lugar e o gato continua a esperar dados após o EOF. Se sh está sendo executado na conta telnet - o comando cat pára após o EOF. Mais detalhes sobre esse aplicativo estão aqui.