Ich habe eine ausführbare Datei, die eine benutzerinteraktive Shell startet. Ich möchte nach dem Start der Shell zuerst ein paar Befehle einfügen und dann dem Benutzer erlauben, ihre interaktive Sitzung zu haben. Ich kann das leicht machen mit echo
:
echo "command 1\ncommand 2\ncommand3" | ./shell_executable
Das funktioniert fast . Das Problem ist, dass der Echo-Befehl, der das STDIN des Prozesses einspeist, EOF trifft, sobald er meine Befehle wiedergibt. Diese EOF bewirkt, dass die Shell sofort beendet wird (als ob Sie Strg + D in der Shell gedrückt hätten).
Gibt es eine Möglichkeit, diese Befehle in stdin einzufügen, ohne anschließend ein EOF zu verursachen?
./shell_executable
, am Ende der Befehlsliste etwas hinzuzufügen ? Das könnte es am Laufen halten, obwohl Sie zwei laufende Instanzen haben (Eltern & Kind).