J'ai un exécutable qui démarre un shell interactif. Je voudrais, au lancement du shell, injecter d’abord quelques commandes, puis permettre à l’utilisateur d’avoir sa session interactive. Je peux le faire facilement en utilisant echo
:
echo "command 1\ncommand 2\ncommand3" | ./shell_executable
Cela fonctionne presque . Le problème est que la commande echo qui alimente le stdin du processus frappe EOF une fois que cela est fait, faisant écho à mes commandes. Cela provoque la fin immédiate du shell (comme si vous aviez appuyé sur Ctrl + D dans le shell).
Existe-t-il un moyen d’injecter ces commandes dans stdin sans provoquer un EOF par la suite?
./shell_executable
à la fin de la liste des commandes? Cela pourrait continuer, bien que vous ayez deux instances en cours d'exécution (parent et enfant).