Tengo un ejecutable que inicia un shell interactivo para el usuario. Al iniciar el shell, me gustaría inyectar algunos comandos primero y luego permitir que el usuario tenga su sesión interactiva. Puedo hacer esto fácilmente usando echo
:
echo "command 1\ncommand 2\ncommand3" | ./shell_executable
Esto casi funciona. El problema es que el comando echo que está alimentando el stdin del proceso golpea EOF una vez que se hace eco de mis comandos. Este EOF hace que el shell termine inmediatamente (como si hubiera presionado Ctrl + D en el shell).
¿Hay alguna manera de inyectar estos comandos en stdin sin causar un EOF después?
./shell_executable
al final de la lista de comandos? Eso podría seguir funcionando, aunque tendrá dos instancias en ejecución (padre e hijo).