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