使用ruby变量在ruby中运行命令行命令

时间:2018-07-05 04:17:34

标签: ruby

我需要运行ruby脚本来编译并保存一个csv文件,其路径将由我给该脚本的ARGV决定。我希望ruby最后自动打开该文件(在反引号内使用open filepath),但是filepath变量将是动态的。如何在反引号内将文件路径的值赋予命令? 谢谢!!

1 个答案:

答案 0 :(得分:0)

您可以在反引号中使用字符串插值,就像使用双引号的字符串一样:

`open #{filepath}`

旁注:最好使用Shellwords.escape,例如filepath中的空格不会破坏您的代码:

require "shellwords"

`open #{Shellwords.escape(filepath)}`