我正在创建一个脚本来包装jdb(java调试器)。我基本上想要包装这个过程并代理用户交互。所以,我希望它:如何在ruby中代理shell进程
- 开始加多宝从我的脚本
- 发送加多宝的输出到stdout
- 暂停,等待输入时,加多宝确实
- 当用户输入命令,把它传递给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
链接无效。 – defactodeity
谢谢;我删除了示例链接。如果您发现任何具有示例用法的当前网站,请告诉我。 –