Я создаю скрипт для переноса jdb (отладчик Java). По сути, я хочу обернуть этот процесс и прокси взаимодействия с пользователем. Итак, я хочу это:
- запустить JDB из моего скрипта
- отправить вывод jdb на стандартный вывод
- пауза и ожидание ввода, когда jdb делает
- когда пользователь вводит команды, передайте его jdb
В данный момент я действительно хочу пройти через JDB. Причина этого состоит в том, чтобы инициализировать процесс с определенными параметрами и потенциально добавлять больше команд в будущем.
Обновление:
Вот оболочка того, что сработало для меня, используя функцию ожидаемого:
PTY.spawn("jdb -attach 1234") do |read,write,pid|
write.sync = true
while (true) do
read.expect(/\r\r\n> /) do |s|
s = s[0].split(/\r\r\n/)
s.pop # get rid of prompt
s.each { |line| puts line }
print '> '
STDOUT.flush
write.print(STDIN.gets)
end
end
end