Я бы хотел поговорить с интерактивным процессом bash.
Вот пример, чтобы вы знали, что я хочу архивировать:
- Программа запускает новый процесс bash.
- Пользователь вводит "ls" в мою программу.
- Программа отправляет эту команду процессу bash.
- Программа считывает все доступные выходные данные bash (включая подсказку) и отображает их обратно пользователю.
- GOTO 1
Как вы можете догадаться, здесь и там много возможностей для изящных манипуляций ...; -)
Было бы замечательно, если бы это также работало для подпроцессов (запускаемых процессом bash) и программ на основе curses.
Я хотел бы реализовать эту функциональность в Ruby, и уже экспериментировал с IO.popen, но происходят странные вещи. Вы также можете сделать это на других языках.