2
我有一個執行shell命令的rake任務。當我從bash運行它時,替換工作,但是當我運行rake任務時,替換沒有發生。shell命令(涉及sed)在bash中工作,但不在mac os上的rake任務中
我耙文件:
require 'rake'
namespace 'performance_tests' do
task :test_guests_generation do
%x{sed -e 's/NO_OF_GUESTS = \[.*]/NO_OF_GUESTS = \[400, 10]/' -i '' db/seeds.rb}
end
end
試圖在Mac OS中終端的命令並執行替換:
$ sed -e 's/NO_OF_GUESTS = \[.*]/NO_OF_GUESTS = \[400, 10]/' -i '' db/seeds.rb
逃離的空間(我逃過了反斜槓的好措施太)工作。它最終看起來像這樣:%x {sed -e's/NO_OF_GUESTS \ = \\\ [。*]/NO_OF_GUESTS \ = \\\ [400,\ 10] /'-i''db/seeds.rb } – cowdinosaur 2011-06-14 02:33:27