'윈도우 호환'에 해당되는 글 1건

  1. 2020.08.06 Windows와 Linux 에서 작성한 .sh 파일의 차이

간단한 쉘 스크립트를 작성하면서 처음 접한 가장 큰 문제였습니다.

 

쉘 스크립트를 실행하면 그 안에서 python 프로그램을 실행시키도록 만들었는데,

어째서인지 argparse를 이용해 만들어둔 옵션들을 쉘 스크립트가 실행할 때 똑바로 인식하지 못하는 것입니다.

 

몇시간동안 대체 무엇을 잘못했는지 찾다가 의외로 해결책은 가까운 곳에 있었습니다.

 

https://www.snoopybox.co.kr/1613

 

윈도우에서 작성한 Shell 스크립트 리눅스에서 에러나는 경우

윈도우에서 메모장으로 작성한 Bash 스크립트 파일을 리눅스에 넣어 돌리면 오류가 발생합니다. 그 이유는 DOS와 UNIX 계열의 개행 방식이 서로 다르기 때문인데요, 눈에 보이지는 않지만 각 줄의 �

www.snoopybox.co.kr

윈도우에서는 문장 마지막에 커서를 문장 시작부분으로 옮기는 \r이 붙어있다는 사실을 처음 알았습니다.

 

결론부터 말하자면,

Windows -> Linux

sed -i -e 's/\r$//' file.sh

Linux -> Windows

sed -i -e 's/$/\r/' file.sh

 

위의 명령어를 통해서 .sh파일의 문장들을 간단하게 수정한 후 실행하면 정상적으로 작동하게 됩니다.

 

간략하게 설명해보자면,

  • sed 명령어의 경우 정규표현식을 이용해서 단순 반복작업을 간단하게 끝내버릴수 있는 명령어입니다.
  • $는 정규 표현식에서 문장의 끝을 의미하고, 따라서 \r$은 \r이 문장 끝에 등장한다는 의미가 됩니다.

sed의 옵션에 대해서는 잘 정리해 놓은 블로그 링크를 첨부합니다.

https://m.blog.naver.com/PostView.nhn?blogId=int_s&logNo=220483567708&proxyReferer=https:%2F%2Fwww.google.com%2F

 

01. sed 옵션 정리

- p 명령 : 출력 sed '/north/p' datafile -기본적으로 모든 줄을 출력하고, 패턴과 일치하는 줄을 한번 더...

blog.naver.com

 

'Linux' 카테고리의 다른 글

Linux(Ubuntu) FTP server 구축하기  (0) 2020.08.07
Posted by EnergyCastle
,