调用shell命令从Ruby运行C ++代码

时间:2015-09-16 17:55:06

标签: ruby-on-rails ruby shell

我有一个已编译的c ++文件,我想在ruby中的临时目录中运行:

require 'rest-client'
url = 'https://some.url/rs/FileUploadForm'
@res = RestClient.post url, {:multipart=>true,:tieBreakerOptions=>1,
                                 :myFileName=>'file.txt',
                                 :myFile=>File.new('data/file.txt','r')}
response = JSON.parse(@res)

上面的代码正确创建了所有需要的文件/文件夹,但没有运行系统调用,也不会产生错误。我已经尝试了这里列出的所有品种:Calling shell commands from Ruby但似乎无法使其发挥作用。如果我注释掉文件删除行并手动执行上面列出的命令,程序将正常运行。此外,如果我将文件保存到与./program相同的位置,则./program可以正常工作。是什么阻止我从子文件夹运行命令?

1 个答案:

答案 0 :(得分:-1)

也许系统查找程序的名称为.././program

尝试使用反引号运算符或%x函数

puts `.././program`

puts %x{.././program}