我用下面的壓縮文件的文件夾: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