ユーザーインタラクティブシェルを起動する実行可能ファイルがあります。シェルの起動時に、最初にいくつかのコマンドを挿入してから、ユーザーにインタラクティブセッションを許可します。私はこれを簡単に使用できますecho
:
echo "command 1\ncommand 2\ncommand3" | ./shell_executable
これはほとんど機能します。問題は、コマンドのエコーが完了すると、プロセスのstdinにフィードしているエコーコマンドがEOFに達することです。このEOFにより、シェルはすぐに終了します(シェルでCtrl + Dを押したかのように)。
後でEOFを発生させずにこれらのコマンドをstdinに注入する方法はありますか?
./shell_executable
コマンドのリストの最後に追加しようとしましたか?2つの実行中のインスタンス(親と子)がありますが、それでうまくいくかもしれません。