嗨,大家不能让我的后卫进程正确,我正在尝试查看新图像的文件夹,然后使用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。虽然它似乎在optipng完成之前移动了图像。
答案 0 :(得分: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"