我想在#{Rails.root} /lib/my_file.rb中创建一个文件my_file.rb,它执行驻留在#{Rails.root} / script / my_script中的脚本my_script。我打算像这样使用它:
script/first_script # this first script will call a method in
# lib/my_file.rb that will run the script/my_script file.
如何创建可执行脚本的lib文件?什么是从lib文件执行脚本的命令?
答案 0 :(得分:2)
如果通过“执行脚本”表示在单独的过程中运行它,那么您需要的是system
调用。
<强>更新强>:
如果您想独立捕获STDOUT
和STDERR
,也可以使用popen3方法。从示例:
Open3.popen3("#{Rails.root}/script/my_script") do |in, out, err|
# ...
end
答案 1 :(得分:1)
这里是运行流程的各种选项的列表(回答你的问题,基本上你在lib / xxx.rb中定义方法,然后调用该方法,并在该方法中,你运行系统或不运行: http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes