핸디소프트/일일일~2010. 1. 28. 09:32
사내 메신저 설치중에 jetty 를 설치하고 jim.sh 에 권한을 다 줬음에도 실행시

문제 :
bad interpreter: No such file or directory
라는 메시지가 떨어지고 실행이 안됨

문제원인 : CR/LF
Windows 기반에서 작성된 text는 줄바꿈을 CR/LF(\r\n)로 처리하는 반면,
Unix/Linux 기반의 text에서는 줄바꿈을 LF(\n)로 처리하면서 발생하는 문제
=
유닉스 파일에서 새로운 줄로 변경시 사용하는 문자는 lf(line feed)입니다.
도스나 윈도우즈인 경우는 lf(line feed )와 cr(carrage return)를 같이 사용합니다

한마디로 shell 자체를 window에서 작성후 저장시 Unix type 로 저장해줬어야 하는데 그렇지 못함

해결 :  도스 텍스트를 유닉스 텍스트(Unix Text)로 변환
vi jim.sh
이렇게 파일을 vi 에디터로 불러온후

Esc키를 누른 후
:set ff=unix
이런 명령을 입력하면 Unix type로 변경
:wq
명령으로 파일 저장 + vi을 종료.

반대로, 유닉스 텍스트를 도스 텍스트로 변환하려면

:set ff=dos
이런 명령을 입력하면 dos type 로 변경
Posted by 배터리