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コマンドを順番に実行するには、&&または;を使用できます。(ここを参照)

次のようにコマンドを変更して、2番目のガードステートメントを削除できます。

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