2013-03-19 16 views
6

Bu yolda bir dosya çıktığında, Linux komutunu başlatan belirli bir dizinde bir dinleyici oluşturmaya çalışıyorum. Örneğin, bir dosya C:/home/I gibi bir dizinde görüntülendiğinde, o dosyadan bir metin dizisini okumak ve ardından başka bir komutu başlatmak ister. Bir döngü kullanmayı düşünüyordum ama bu verimsiz görünüyor. Dosya oluşturma, açma, değiştirme vb. Olaylarla ilgili bildirim almak için inotify'a bakın.Linux'ta bir dosya dinleyicisini nasıl oluştururum?

+3

Linux, 'C:' sürücüsüne sahip değil. Kafam karıştı. – squiguy

+0

Hemen bilmek istemezseniz, sürekli olarak yoklamak yerine belirli bir süre uyuyabilirsiniz. Hala bir döngü kullanabilirsiniz, ancak bir dakika (ya da belki daha uzun) bir kez yapın. –

+0

@squiguy haklısın, benim kötü. Ben/home/ya da böyle bir şey demek istedim. Beyin osuruk OS'ler arasında geçiş yapmaktan çok fazla. – Ray

cevap

11

Bash'dan kullanmanın iyi bir yolu inotifywait komutuyla - here onun man sayfasıdır. Önemsediğiniz bir olay gerçekleşene kadar engellenir. Örneğin, bir dosya veya dizin bu yoldan oluşturulduğunda ding yapacaktır. Daha fazla bilgi için man page'a bakın.

İlgili konular