Спасибо! Мой пример: Я начал длительный интерактивный процесс 'configure' (скажем, под 'screen'), а затем понял, что мне нужно всегда отвечать 'no', пока я не увижу определенное ключевое слово. Кажется пустой тратой времени делать это вручную (не говоря уже о том, что я могу легко пропустить ключевое слово...)
Таким образом, похоже, я хочу направить (копию) STDERR / STDOUT в фильтр, а также иметь возможность инжектировать в STDIN (консольного) процесса, ПОСЛЕ того, как он был запущен, используя командную строку? Есть ли готовое решение?
Следующие инструменты, похоже, помогут. Для перехвата вывода используйте
strace -ewrite -p $PID
Он не очень чистый (показывает строки типа: write(#,) ), но работает! Но правильно ли он обрабатывает UTF8?
Чтобы перенаправить вывод, сделайте что-то вроде
printf '..input..' >/dev/pts/33
Но неясно, как найти нужное устройство...