Saya memiliki executable yang memulai shell interaktif-pengguna. Saya ingin, setelah meluncurkan shell, menyuntikkan beberapa perintah terlebih dahulu, kemudian memungkinkan pengguna untuk memiliki sesi interaktif mereka. Saya dapat melakukan ini dengan mudah menggunakan echo
:
echo "command 1\ncommand 2\ncommand3" | ./shell_executable
Ini hampir berhasil. Masalahnya adalah bahwa perintah gema yang memberi makan stdin proses hits EOF setelah selesai menggandakan perintah saya. EOF ini menyebabkan shell untuk segera mengakhiri (seolah-olah Anda menekan Ctrl + D di shell).
Apakah ada cara untuk menyuntikkan perintah ini ke stdin tanpa menyebabkan EOF sesudahnya?
./shell_executable
ke akhir daftar perintah? Itu mungkin membuatnya tetap berjalan, meskipun Anda akan memiliki dua instance berjalan (orang tua & anak).