2

%x ( ) を使用し、実行するファイルのパスを決定するために以前に使用した変数を使用しようとしています。

本質的に私はこのようなことをしたい

location = "/home/myhome/somefolder"
%x ("ls " + location)

これを行う方法はありますか?

4

3 に答える 3

5

あなたのコードは動作します

%x ("ls " + location)

または

%x ("ls #{location}")
于 2013-02-13T20:19:43.143 に答える
1

あなたが提供した例は正常に動作しますが、おそらくShellwords変数をエスケープするために使用する必要があります。

require 'shellwords'

location = '~/My folder with spaces in the name'

%x("ls #{Shellwords::escape(location)}")
于 2013-02-13T20:24:55.497 に答える
0

私はRuby 2を使用していますが、上記のどれもうまくいきませんでした。だから私は次のようなものを使って巻き上げました

eval "%x(ls #{location})"

于 2016-05-15T03:42:23.003 に答える