Bu komut dosyası yoklama kullanmaz. Başka bir deyişle, periyodik kontroller yapmaz. Bunun yerine, inotifywaitdosya sistemindeki değişiklikleri izlemek için tasarlanmış bir araç kullanır .
Bu komut dosyasında, inotifywaitgeçerli dizini ( .) izler . Bir dosya bu dizinde her oluşturulduğunda inotifywait, adını yayar ve komut dosyası eşleşip eşleşmediğini kontrol eder sleep.txt. Eğer öyleyse, yaratılışını duyurur:
[ -e sleep.txt ] || while IFS= read -r fname
do_
[ "$fname" = sleep.txt ] && break
done < <(inotifywait -m -q -e create -e moved_to --format %f .)
echo "Finally, sleep.txt now exists!!!"
Daha fazla detay
Kullanılan seçenekler inotifywaitşu anlama gelir:
-mdizini izlemeye devam etmek demektir. Başka bir deyişle, rapor edilmeye değer bir şey olduğunda ilk kez durmayın.
-q normalden daha sessiz olması demektir.
-e create -e moved_to sadece bu dizinde oluşturulan veya taşınan dosya hakkında rapor anlamına gelir.
--format %f her dosya oluşturma olayı gerçekleştiğinde dosya adını yazdırmasını söyler
.hangi dizinin izleneceğini söyler. Bir süre, .her zaman geçerli dizini ifade eder.
yükleme inotifywait
Debian benzeri sistemlerde, inotifywaitaşağıdakilerin bir parçası inotify-toolsve yüklenebilir:
apt-get install inotify-tools
MS Windows ve OSX
inotifywait Linux sistemlerinde kullanılabilir ve aynı zamanda Cygwin altında çalışır.
Windows için benzer araçları okumak için burayı tıklayın .
Mac OSX'te benzer araçlar hakkında bilgi için, buraya tıklayın .
inotifywait.