이것은 지금까지 얻은 쉘 스크립트입니다. 재귀적으로 확인하고 싶으므로 다음 옵션을 선택하세요.
-r
재귀를 위해-m
모니터링을 위해-e
이벤트 알림 및 추적을 위해
나에게 알려지지 않은 이유로 이 접근 방식은 작동하지 않습니다. rm/nano/touch 등을 사용하여 파일을 생성/수정/삭제하고 있으며 터미널에서 스크립트를 실행할 때 특정 작업이 사용되었다는 메시지가 표시됩니다. 작업이 사용된 위치와 파일이 사용된 위치 /home/stephen/ CREATE test
입니다. 터치를 사용하여 파일을 만들었습니다.
#!/bin/sh
while inotifywait -mre create,delete,modify /home;do
echo "test"
done
답변1
나는 inotifywait -m이 종료되지 않아 while 루프가 예상대로 작동하지 않는다고 생각합니다.
while inotifywait -r /home -e create,delete,modify; do { echo "test"; }; done
하지만 예상대로 작동해야 합니다.
답변2
루프의 위치를 변경하겠습니다. 프로세스 를 계속 시작할 필요가 없도록 감시 모드를 유지하여 inotifywait
이벤트가 누락될 가능성을 제한합니다.
inotifywait -mre create,delete,modify /home | while read dirname events basename;
do
echo "test $dirname $events $basename"
done