Ruby:如何在执行期间将arg传递给系统命令

时间:2013-03-20 05:59:49

标签: ruby unix system freebsd

美好的一天! 我认为这是一个非常简单的问题,但我无法弄清楚如何处理它。所以我向你征求意见或指导。 我对unix命令进行system调用,并在执行期间要求我输入字符串描述。我怎样才能做到这一点? 谢谢!

似乎我的问题已经解决了一半。为了使它绝对清楚,任何人都可以告诉我为什么这个代码:

#/usr/local/bin/ruby19 
#Process.daemon(true) 
exec "/bin/cp src dst" 

工作正常,但如果#中的Process.daemon(true)被删除,它什么都不做?

1 个答案:

答案 0 :(得分:0)

您可以使用IO.pipespawn(在Ruby 1.9.3中)创建到另一个进程的管道以写入它。例如,

r, w = IO.pipe
spawn("cat", :in => r)
r.close

# the write to the pipe, which `cat` will read from
w.write("hello\n")