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 inotifywait
sadece 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 .xml
dosya oluşturulduğunda rapor edin .
NELER YAPTIK:
inotifywait --help
Komutu ç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 .
path
yukarı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üzdenfpath
bunun yerine alternatif bir değişken adı kullanmanızı öneririm . yani,while read fpath action file
genellikle kabuğunuzda bulunan herhangi bir standart komut yine de kalır.