Я создаю скрипт для переноса jdb (java debugger). Я по сути хочу обернуть этот процесс и прокси взаимодействовать с пользователем. Поэтому я хочу, чтобы:Как прокси-процесс оболочки в ruby
- начала JDB из моего сценария
- отправить вывод JDB на стандартный вывод
- паузу и ждать ввода, когда JDB делает
- , когда пользователь вводит команды, передать его jdb
На данный момент я действительно хочу пройти через jdb. Причина этого заключается в том, чтобы инициализировать процесс с определенными параметрами и потенциально добавить в будущем больше команд.
Update: Вот оболочка, что в конечном итоге работает для меня, используя ожидать:
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
Ссылки не действительны. – defactodeity
Thanks; Я удалил образцы ссылок. Если вы найдете какие-либо текущие сайты с примером использования, пожалуйста, дайте мне знать. –