我正在尝试使用 %x ( ) 并使用我之前使用过的变量来确定我想要运行的文件的路径。
基本上我想做这样的事情
location = "/home/myhome/somefolder"
%x ("ls " + location)
有没有办法做到这一点?
我正在尝试使用 %x ( ) 并使用我之前使用过的变量来确定我想要运行的文件的路径。
基本上我想做这样的事情
location = "/home/myhome/somefolder"
%x ("ls " + location)
有没有办法做到这一点?
您的代码有效
%x ("ls " + location)
或者
%x ("ls #{location}")
您提供的示例工作正常,但您可能应该使用它Shellwords
来转义任何变量,例如
require 'shellwords'
location = '~/My folder with spaces in the name'
%x("ls #{Shellwords::escape(location)}")
我正在使用 ruby 2,但上述方法都不适合我。所以我最终使用了类似的东西
eval "%x(ls #{location})"