.dll을 사용하여 파일이 생성되었는지 확인하는 깔끔한 방법을 찾고 있습니다 cp -u
.
꽤 많은 파일을 업데이트하는 작은 쉘 스크립트가 있습니다. 현재 스크립트는 echo
복사되는 각 파일에 대해 작은 메시지를 제공합니다.
echo
이제 파일이 실제로 업데이트될 때만 실행 되도록 스크립트를 변경하고 싶습니다 . cp -u
파일이 복사되지 않으면 오류 코드가 반환되는지 확인했지만 복사되지 않습니다.
파일 타임스탬프를 수동으로 비교하는 것보다 더 좋은 방법이 있습니까?
답변1
if [ "$(cp -uv source destination)" != "" ]; then echo copied; else echo not copied; fi
고쳐 쓰다
cp의 자세한 출력에서 "->"와 일치합니다. 이는 복사가 성공하고 파일 이름에 "->"가 포함되지 않은 경우에만 발생합니다.
if [[ "$(cp -uv source destination)" =~ \-\> ]]; then echo copied; else echo not copied; fi