Shell 스크립트 'No such file or directory' 오류 완벽 해결법
· 약 6분
안녕하세요, 쌍팔년생 개발자입니다.
작년에 팀에서 배포 자동화 스크립트를 만들면서 정말 당황스러운 일이 있었어요. Windows에서 열심히 작성한 Shell 스크립트를 리눅스 서버에 올렸는데, 아무리 실행해도 #!/bin/bash: No such file or directory
오류만 계속 나오는 거예요... 😰
파일은 분명히 존재하고, 권한도 맞는데 왜 "파일이 없다"고 하는지 정말 이해할 수 없었어요. 팀원들과 함께 몇 시간을 디버깅했는데 원인을 찾지 못해서 정말 답답했습니다.
그러던 중 스택오버플로우에서 비슷한 문제를 겪은 분의 글을 발견했어요. "혹시 줄바꿈 문제는 아닐까요?"라는 댓글을 보고 cat -v
명령어로 파일을 확인해보니... 바로 그것이었습니다! Windows와 Linux의 줄바꿈 차이 문제였어요.
TL;DR: Windows에서 작성한 스크립트의 CRLF 줄바꿈이 Linux에서 문제를 일으킵니다.
dos2unix
명령어나sed 's/\r$//'
로 해결하고, Git 설정과 .gitattributes로 예방하세요.