将输出文件放在ruby中的文件夹下

时间:2012-12-29 15:15:55

标签: ruby rake

我正在使用Ruby中的代码行在将脚本运行到输出文件时编写日志文件,如:

system("ruby #{file} > #{file}.out")

但是,现在我想创建一个新文件夹,然后期望将输出文件放在这个文件夹下,我试着用下面的方法:

Dir::mkdir(directory_name)
system("ruby #{file} > directory_name/#{file}.out")

但是,我没有观察文件夹“directory_name”下的outfile,有人请指导我吗?非常感谢。

2 个答案:

答案 0 :(得分:0)

directory_name是变量,在这种情况下你应该在第二行写#{directory_name}吗?或者它是目录的名称,在这种情况下,您应该在第一行引用它?

答案 1 :(得分:0)

你可能遇到这样的问题,因为system命令在它自己的shell中运行 - 所以工作目录可能不在你所建立的目录的上下文中。

一般来说,如果可以的话,最好不要混合使用unix策略。

system("cd #{File.expand_path(directory_name)} && ruby #{file} > #{directory_name}/#{file}.out")