이 스크립트 구문을 사용하여 파일 이름만 사용하여 파일 이름을 바꾸려면 어떻게 해야 합니까?
#!/bin/bash
WATCHED=/mnt/Watched
DESTINATION=/mnt/Destination
inotifywait -re CLOSE_WRITE,CREATE,MOVED_TO --format $'%e\t%w%f' -m $WATCHED |
while IFS=$'\t' read -r events new
do
cp -r "$WATCHED/$new" "$DESTINATION/"
done
이것을 실행하면 이런 결과가 나옵니다.
cp: cannot stat '/mnt/Watched//mnt/Watched/newfile.mkv': No such file or directory
형식을 다음과 같이 설정하면 제대로 작동할 것이라는 것을 알고 있지만 --format %f
누락된 스크립트의 다른 부분에 대한 이벤트와 전체 경로가 필요하기 때문에 이 방식으로 설정할 수 없습니다. 그렇다면 cp 명령에 파일 이름을 추출하고 할당하려면 어떻게 해야 합니까?
감사해요
답변1
나는 jordanm의 제안에 따라 변경했으며 "$WATCHED/$new"
이제 "$new"
작동합니다.