![파일이 실제로 존재하는지 확인한 후 존재하지 않는 경우 어떻게 이런 일이 발생할 수 있습니까?](https://linux55.com/image/182074/%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%8B%A4%EC%A0%9C%EB%A1%9C%20%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8%ED%95%9C%20%ED%9B%84%20%EC%A1%B4%EC%9E%AC%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9D%B4%EB%9F%B0%20%EC%9D%BC%EC%9D%B4%20%EB%B0%9C%EC%83%9D%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
두 대의 서버에서 잘 실행되던 쉘 스크립트가 있는데, 한 서버에서는 여전히 작동하는 것처럼 보였지만 다른 서버에서는 하루에 여러 번 실패하기 시작했습니다(한 시간에 한 번 실행되고 매우 불규칙적으로 2~8회 실패했습니다).
로그에는 존재하지 않는 파일을 이동하려고 했기 때문에 실패했다고 표시됩니다. 더 많이 디버깅할 때 파일을 이동하기 전에 파일이 존재하는지 확인하여 스크립트를 안정화할 수 있다고 생각했기 때문에 이제 다음이 포함됩니다.
[ -f .sha1sums.txt ] || exit 0;
mv .sha1sums.txt sha1sums.txt
그러나 여전히 매일 여러 번 실패하며 다음과 같이 기록합니다.
mv: cannot stat '.sha1sums.txt': No such file or directory
(대본에 이상한 문자가 있는지 확인했는데 전혀 없었습니다)
어떻게 이런 일이 발생했는지에 대한 최선의 추측은 현재 다른 것과 경쟁하여 파일을 삭제하고 있지만 그게 무엇인지 알 수 없어서 다른 설명(또는 오타 찾기)을 찾고 있으며 여기에 여러분이 있기를 바랍니다. 들어올 수 있습니다.
.sha1sums.txt
(PS 빌드 명령은 이를 표시하기 위해 6일 전에 디버그 출력을 추가한 이후로 실패하지 않았습니다.)