2

嗨,伙计们,我的守护进程无法正确处理,我正在尝试查看新图像的文件夹,然后使用 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 完成之前移动了图像。

4

1 回答 1

3

据我了解,您想在 /images/pre 中观看新图像。当新图像到达时,压缩它们并将它们移动到 /images。您的第一个保护声明应如下所示

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 命令,可以使用 && 或 ; (见这里

您可以按如下方式更改命令并删除第二个保护语句

:command => "optipng -o7 images/pre/*.png && mv images/pre/*.png images/*.png"
于 2012-02-12T03:39:48.990 回答