ฉันเห็นคำตอบนี้แล้ว
คุณควรพิจารณาใช้ inotifywait เป็นตัวอย่าง:
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
คำถามของฉันคือสคริปต์ข้างต้นดูไดเรกทอรีสำหรับการสร้างไฟล์ทุกประเภท แต่ฉันจะแก้ไขinotifywaitคำสั่งเพื่อรายงานได้เฉพาะเมื่อไฟล์ประเภท / นามสกุลที่แน่นอนถูกสร้างขึ้น (หรือย้ายไปยังไดเรกทอรี) - เช่นควร รายงานเมื่อ.xmlมีการสร้างไฟล์ใด ๆ
ฉันลองอะไร:
ฉันรันinotifywait --helpคำสั่งแล้วและอ่านตัวเลือกบรรทัดคำสั่ง มันมี--exclude <pattern>และ--excludei <pattern>คำสั่งในการยกเว้นไฟล์บางประเภท (โดยใช้ regEx) แต่ฉันต้องการวิธีที่จะรวมเพียงแค่ไฟล์ประเภท / นามสกุลที่แน่นอน
pathข้างต้นอาจไม่ใช่ชื่อตัวแปรที่ดีที่สุดหากคุณต้องการเล่นกับเชลล์ตัวแรกPATHถ้าคุณใช้มันแล้วคุณจะไม่สามารถที่จะใช้คำสั่งและทุกอย่างตั้งแต่นี้มีพื้นเพียงแทนที่มาตรฐาน ดังนั้นฉันแนะนำให้ใช้ชื่อ var อื่นเช่นfpathแทน นั่นคือwhile read fpath action fileคำสั่งมาตรฐานใด ๆ ที่มักจะมีให้จากเชลล์ของคุณ