我想使用system("insert shell command here")
并传入一个脚本。但是,此脚本需要用户输入。我也希望传入用户输入。我该怎么做?
我试过了:
system('./script')
system('input1')
system('input2')
但是,Ruby会等到第一次系统调用完成后才会进入下一次系统调用。
有可能这样做吗?我已经尝试了system('./script', 'input1')
,但这也没有用。
exec
也没有运气。
答案 0 :(得分:1)
您应该从Ruby stdlib查看Open3 library。它使您可以更好地控制“炮轰”。
output, status = Open3.capture2("./script", :stdin_data => "I am STDIN")
答案 1 :(得分:-2)
#!/usr/bin env ruby
input1 = ARGV[0]
input2 = ARGV[1]
system("./script #{input1} #{input2}")