카테고리 없음
Docker, #!/bin/sh: not found, function: not found
songye
2025. 5. 21. 14:11
도커 컨테이너 안에서 쉘스크립트를 실행시킬 때 다음과 같은 에러가 발생한다.
./test.sh: 1: #!/bin/sh: not found
./test.sh: 4: function: not found
지피티한테 물어봐도 OS에 따른 개행문제라고만 나올 뿐이었다.
(Window, Linux 개행이 다른 문제일 수도 있다 확인 필요, grep or vi search로 찾아보자)
결론부터 말하자면
쉘 스크립트 안에서 UNIX 표준 POSIX function은 해당사항이 아니었고
bash만 지원하는 것이 문제였다.
Docker 기본 쉘 스크립트가 어떻게 설정되어 있는지 살펴보자
ls -l /bin/sh
/bin/sh -> dash
dash로 기본값이 설정되어 있는 것을 확인할 수 있다.
/bin/bash로 직접 실행해도 되겠지만 귀찮으니 심볼릭 링크를 다시 설정해주자
ln -sf /bin/bash /bin/sh
bash를 기본 값으로 설정 완료!