728x90
안녕하세요. 그린주입니다 ๑'ٮ'๑
오늘도 힘차게 시작해보겠습니다!
개요
이번 글에서는 리눅스 vi 에디터에 있는 ^M문자를 한 번에 지우는 방법을 공유하려고 합니다.
목차
^M문자가 생기는 이유
^M문자 제거
^M문자가 생기는 이유
리눅스에 있는 sh파일을 젠킨스 Execute shell에서 실행시켰더니 이런 에러 메시지가 나왔습니다. 어떻게 해결해야 될까요?
/bin/bash^M: bad interpreter: No such file or directory
이것은 윈도우에서 스크립트 파일을 생성했거나 수정하고, 리눅스에서 실행했을 때 나타나는 오류입니다.
정확히는 줄 끝(줄 바꿈)을 의미하는 개행 문자가 달라서 발생하는 문제이다. 리눅스는 개행 문자가 LF = ‘\n’ = 0x0A이고, 윈도우는 CRLF = ‘\r’ + ‘\n’ = 0x0 D 0x0A인데, 파일 안에 LF와 CRLF가 섞여 vi 에디터는 CRLF를 ^M문자로 표시하기 때문입니다.
문제 해결은 간단합니다. vi의 바이너리 모드로 들어가면 ^M문자가 보입니다. 이것을 지워주면 에러는 없어집니다.
$ vi -b 파일명
^M문자 제거
아래 명령어를 수행하면 ^M 문자가 한 번에 제거됩니다.
//아래 ^M은 (Ctrl + v + m)을 입력해야 합니다.
:%s/^M//g
명령어를 작성 중 모든 ^M문자에 강조 표시되는 것을 볼 수 있습니다.
명령어를 실행하면 총 몇 개가 실행되었는지 확인됩니다.
마무리
이렇게 리눅스 vi 에디터에 있는 ^M문자를 한 번에 지우는 방법 에 대해 적어보았습니다.
다들 성공하셨을까요?? 끝까지 파이팅입니다!
긴 글 봐주셔서 감사합니다!
오늘도 행복한 하루 보내세요 ✿'◡'✿
참고
http://www.globaltek.kr/how-to-delete-ctrl-m
728x90
728x90