我用下面的压缩文件的文件夹:Ruby和外壳:得到同样的输出与LS
13162.zip 14864.zip 19573.zip 20198.zip
在控制台中,当我运行:
cd my_folder; echo `ls *{.zip,.ZIP}`
我得到下面的输出(这是完美的):
ls: cannot access *.ZIP: No such file or directory
13162.zip 14864.zip 19573.zip 20198.zip
现在,当在Ruby中我尝试相同的:
cmd= "cd my_folder; echo `ls {*.zip,*.ZIP}`";
puts `#{cmd}`
它只显示:
ls: cannot access {*.zip,*.ZIP}: No such file or directory
=> nil
我尝试此解决方案: Getting output of system() calls in Ruby
,但它似乎没有我的情况下工作。
我怎样才能得到相同的输出在红宝石和壳?
在'irb'控制台中键入'cmd = \'cd Downloads; ls * .zip * .ZIP \''后面跟'puts cmd' –
你想要存档什么?你的代码不是有效的ruby代码。请提供正确的代码。 –
您是否考虑过使用Ruby方法,如['Dir.chdir'](http://ruby-doc.org/core-2.4.0/Dir.html#method-c-chdir)和['Dir.glob'] (http://ruby-doc.org/core-2.4.0/Dir.html#method-c-glob)? – Stefan