방금 배웠어요파일이 수정되었는지 지속적으로 확인하는 방법:
while inotifywait -q -e modify filename >/dev/null; do
echo "filename is changed"
# do whatever else you need to do
done
내가 사용하는 경우디렉토리 이름파일 이름이 아닌 디렉터리의 모든 파일을 확인할 수 있습니다.
while inotifywait -q -e modify directoryname >/dev/null; do
echo "filename is changed"
# do whatever else you need to do
done
echo
그런데 변경된 파일의 파일 이름을 어떻게 알 수 있나요 ?
답변1
inotifywait
일련의 연속적인 이벤트 세트가 watch 디렉토리에서 방출되므로 권장되는 접근 방식은 watch를 루프 밖으로 이동 while
하고 루프가 보는 새 루프에서 이벤트를 찾는 것입니다 inotify
. 명령은 이러한 이벤트를 확인하고 이를 읽으려면 Enter 기준을 통과해야 합니다.--quiet
read
inotifywait -m -e modify "directoryname" |
while read -r dir action file; do
echo "The file '$file' appeared in directory '$dir' via '$action'"
done