Mam plik wykonywalny, który uruchamia powłokę interaktywną dla użytkownika. Chciałbym, po uruchomieniu powłoki, najpierw wstrzyknąć kilka poleceń, a następnie pozwolić użytkownikowi na interaktywną sesję. Mogę to łatwo zrobić za pomocą echo
:
echo "command 1\ncommand 2\ncommand3" | ./shell_executable
To prawie działa. Problem polega na tym, że polecenie echa, które zasila standardowe wejście procesu, trafia w EOF, gdy zakończy wykonywanie echa moich poleceń. Ten EOF powoduje natychmiastowe zakończenie powłoki (tak jakbyś nacisnął Ctrl + D w powłoce).
Czy istnieje sposób na wstrzyknięcie tych poleceń do standardowego wejścia bez powodowania EOF?
./shell_executable
na końcu listy poleceń? To może dalej działać, chociaż będziesz mieć dwie działające instancje (rodzic i dziecko).