2011-11-28 47 views
2

嗨,大家不能得到我的守衛進程的權利,我想看一個文件夾的新圖像,然後使用optipng壓縮他們和另一個命令來移動它們。守護進程optipng手錶文件夾新圖像

# Compress png 
guard 'process', :name => 'Compress PNG', :command => 'optipng -o7 images/pre/*.png' do 
watch(/^images\/(.*)\.png/) 
end 

# Move png from pre to images 
guard 'process', :name => 'Move png in pre to images root', :command => 'mv images/pre/*.png images/*.png' do 
    watch(/^images\/pre\/(.*)\.png/) 
end 

第一問題是,當一個新的圖像添加到該文件夾​​,這並不火。接下來的問題是它似乎不喜歡* .png。 Aslo似乎在optipng完成之前移動圖像。

回答

3

據我所知,您想要在/ images/pre中觀看新圖像。當新圖像到達時,壓縮它們並將它們移動到/圖像。您的第一個後衛的說法應該是如下

guard 'process', :name => 'Compress PNG', :command => 'optipng -o7 images/pre/*.png' do 
watch(/^images\/pre\/(.*)\.png/) # Watch images/pre/*.png not images/*.png 
end 

要執行2 Linux上的命令序列,您可以使用& &;或(見here

你可以改變你的命令如下,刪除第二個後衛聲明

:command => "optipng -o7 images/pre/*.png && mv images/pre/*.png images/*.png"