首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Ruby运行shell命令:在显示输出的同时捕获输出?

从Ruby运行shell命令:在显示输出的同时捕获输出?
EN

Stack Overflow用户
提问于 2010-09-10 15:16:59
回答 7查看 5.9K关注 0票数 5

我有个问题。

我想从另一个ruby脚本运行一个ruby脚本,并捕获它的输出信息,同时让它也输出到屏幕上。

跑步者

代码语言:javascript
运行
复制
#!/usr/bin/env ruby
print "Enter your password: "
password = gets.chomp
puts "Here is your password: #{password}"

我运行的脚本文件:

start.rb

代码语言:javascript
运行
复制
output = `runner`
puts output.match(/Here is your (password: .*)/).captures[0].to_s

正如你在这里看到的,这里有一个问题。

在start.rb的第一行,屏幕是空的。

我在runner中看不到“输入您的密码:”。

有没有一种方法可以在runner脚本完成之前显示它的输出,并且仍然让我将其捕获为一个字符串,以便我可以处理这些信息,例如。是否像本例中那样使用匹配?

EN

Stack Overflow用户

发布于 2010-09-10 15:28:09

看看POpen4吧。它声称是独立于平台的(但我不认为它在jruby中工作,因为你可以使用IO#popen来代替)。

票数 0
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3682837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档