누군가가 나를 도울 수 있기를 바랍니다. 폴더의 파일을 가리키면 동일한 폴더에 JSON 파일을 생성하는 스크립트를 사용하고 있습니다. 다음은 현재 수행 중인 스크립트를 파일별로 실행하는 데 사용되는 명령입니다.
bash /path/to/script/PageBuilder.sh "/path/to/file/cvinfo"
inotifywait
하위 디렉터리를 스캔하고 각 cvinfo
파일을 찾아 해당 파일에서 스크립트를 실행하고 싶습니다 .
지금까지 운없이 시도한 것은 다음과 같습니다.
psttern="cvinfo"
inotifywait -m -r -e close_write --format %w%f /mnt/m/Comics/ | while read FILENAME; do
if [[ "$FILENAME" == *${pattern}* ]]; then
bash /mnt/m/PageBuilder/PageBuilder.sh "$FILENAME";
fi
done&
현재 이는 감시만 설정하고 cvinfo
파일을 폴더 안팎으로 이동하거나 편집하는 등 의 경우에도 아무 작업도 수행하지 않습니다.
이 모든 것에 대한 나의 지식은 전적으로 우리 친구인 Google에서 나온 것이므로 나는 그것이 어떻게 작동하는지에 대해 아주 기본적인 것만 이해하고 있습니다. 도움이 될만한 다른 게시물을 찾아보았지만 어느 것도 내 문제를 해결하지 못했습니다.
Windows를 사용하고 있지만 BASH 터미널에서 실행 중입니다.
답변1
관련 주제를 조사하던 중 우연히 발견한 내용입니다... 오래된 게시물인 것은 알지만, 쉘 변수에 ( psttern
대신 ) 오타를 만든 것 같습니다 pattern
.
나는 직접 테스트하지 않고 어떻게 실패할지 알 만큼 전문가는 아니지만 조용히 실패할 수도 있습니다(그리고 변수가 ${pattern}
초기화되지 않았을 수 있으므로 어떤 경우에도 true를 반환할 것입니다 $FILENAME
).