Considere o programa interativo interactive. Eu tenho que executar este programa com bastante frequência e cada vez que o executo, os primeiros comandos são os mesmos. Obviamente, ter que digitar esses comandos repetidamente é uma dor. Eu coletei esses comandos (separados por novas linhas) no arquivo cmd. Agora eu posso fazer cat cmd | interactivepara executar os comandos. O problema é que, uma vez cmdtotalmente lido, interactiverecebe o EOF e sai.
O que eu desejo fazer é primeiro interactiveler o pipe (obviamente interactive < cmdtambém é aceitável) e, quando o EOF for recebido, comece a ler pelo teclado.