我有个问题。
我想从另一个ruby脚本运行一个ruby脚本,并捕获它的输出信息,同时让它也输出到屏幕上。
跑步者
#!/usr/bin/env ruby
print "Enter your password: "
password = gets.chomp
puts "Here is your password: #{password}"我运行的脚本文件:
start.rb
output = `runner`
puts output.match(/Here is your (password: .*)/).captures[0].to_s正如你在这里看到的,这里有一个问题。
在start.rb的第一行,屏幕是空的。
我在runner中看不到“输入您的密码:”。
有没有一种方法可以在runner脚本完成之前显示它的输出,并且仍然让我将其捕获为一个字符串,以便我可以处理这些信息,例如。是否像本例中那样使用匹配?
发布于 2010-09-10 15:28:09
看看POpen4吧。它声称是独立于平台的(但我不认为它在jruby中工作,因为你可以使用IO#popen来代替)。
https://stackoverflow.com/questions/3682837
复制相似问题