리눅스에서 shell 스크립트를 만들어 메일을 통해 전달한 것을 다시 받아 실행하였을 때


/bin/bash^M: bad interpreter:No such file or directory

sudo ./<script file>: command not found


가 출력 되는 것을 확인하였다.
이는 텍스트 파일이 메일을 전송할 때 개행문자로 인해 바뀌는 것으로 추정된다.

리눅스에서 원본을 vi편집기로 열었을 때에는 정상적으로 출력되지만

메일을 전송한 후 다시 vi편집기로 열었을 때에는 ^M이 각 행 끝에 출력되는 것을 확인하였다.


방법

1. <sudo> vi <script file>


2. :%s/^M$//g

->여기에서 주의할 점은 ^M은 shift+6이 아니라 ctrl+v 키와 ctrl+M 키를 눌러 입력 필요


3. :wq! 키를 눌러 저장


4. <sudo> ./<script file> 실행 확인


반응형

+ Recent posts