反引号中的Shell命令与CLI的行为不同

时间:2015-03-25 00:20:21

标签: ruby shell

Ruby 2.1.5(或1.8.7或1.9.3),OS X 10.10

我已经使用了以下的find命令来删除特定于操作系统的隐藏文件夹,svn文件夹等。

find /somewhere -type f -name '.DS_Store' -print0 | xargs -0 rm -rdf

然而,当使用Ruby自动化时,就像这样(在反引号中):

find #{@copies_folder} -type f -name '.DS_Store' -print0 | xargs -0 rm -rdf

找到噱头和消息"非法选项 - t"被展示。注意 - 后跟一个空格。

似乎有理由认为-type被误解为-t,因此被标记为无效。由于没有--type替代形式,我无法通过命令字符串本身找到任何方法。

我尝试使用%x[]popen3作为替代方法,但得到了同样的反应。

我已经成功地在Ruby中自动化了很多shell命令,但是这个我无法弄清楚。 Ruby的版本似乎并不重要。

关于皮肤这种猫的其他一些方法的任何想法或建议?很多人。

0 个答案:

没有答案