2011-08-03 5 views
10

Ben this post aşağıdaki benim build.xml yinelemeli chmod istiyoruz ve ödünç: bu dizin derindir ve dosyaların çok sayıda içerdiğindenCan Ant'in özyinelemeli modemi, hız açısından exec ile yarışıyor mu?

<chmod file="${basedir}/foo/**" perm="755" type="both"/> 

O inanılmaz yavaş bu.

Bu çok daha iyi işler daha hızlı &:

<exec executable="chmod" dir="${basedir}/foo" failonerror="true"> 
    <arg line="-R 0755 ." /> 
</exec> 
  • exec kullanarak herhangi olumsuzlukları var mı?
    Hız önem taşımaktadır.
  • Evet ise; chmod yanlış kullanıyorum mı?

cevap

7

Chmod görevi, tüm dosyaları topladığı ve daha sonra bunları chmod'ng yaptığı için daha hızlıdır. Exec ile bir işlemdir. Exec kullanmanın tek "olumsuz", sizi UNIX/Linux'a bağlamanızdır. Alıntıları kullanıyorum çünkü chmod görevi Windows'da çalışmıyor çünkü bu bir tartışma noktasıdır.

Her ikisini de doğru kullanıyorsunuz ve exec ile devam etmek mantıklı.

+0

Man sayfasını tekrar okudum ve 'chmod '' ı bir dosya kümesinden dosyaları hariç tutmak için kolay sözdiziminden ayrı olarak kullanmak için geçerli bir neden yok gibi görünüyor - ama bu kolayca çözülebilir exec de de. Bir şey için chmod kullanır mıydın? :) – chelmertz

+0

Bir dosyada izinler değiştirilirse veya (belirtmiş olduğunuz gibi) bir karmaşık (ve küçük dosya kümesi) belirtmek istesem chmod görevini kullanırdım. Muhtemelen bu dosya grubu zaten Ant'de başka bir şey için belirtilmişse. –