Bu cevabı gördüm .
Örnek olarak inotifywait kullanmayı düşünmelisiniz:
inotifywait -m /path -e create -e moved_to | while read path action file; do echo "The file '$file' appeared in directory '$path' via '$action'" # do something with the file done
Benim sorum, yukarıdaki komut dosyası herhangi bir tür dosya oluşturmak için bir dizini izler, ama inotifywaitsadece belirli bir tür / uzantı bir dosya oluşturulduğunda (veya dizine taşındığında) rapor vermek için komutu nasıl değiştiririm - örneğin herhangi bir .xmldosya oluşturulduğunda rapor edin .
NELER YAPTIK:
inotifywait --helpKomutu çalıştırdım ve komut satırı seçeneklerini okudum. O var --exclude <pattern>ve (regEx kullanarak) belirli türdeki dosyaları EXCLUDE--excludei <pattern> komutları , ama ben sadece belirli bir tür / uzantının dosyalarını DAHİL bir yol gerekir .
pathyukarıda kullanmak , muhtemelen bir kabukta bu ile oynamak istiyorsanız en iyi değişken adı değildir. Bunu kullanırsanız, komutları ve her şeyi kullanamazsınız, çünkü bu temelde standardı geçersiz kılmıştırPATH. Bu yüzdenfpathbunun yerine alternatif bir değişken adı kullanmanızı öneririm . yani,while read fpath action filegenellikle kabuğunuzda bulunan herhangi bir standart komut yine de kalır.