간단한 쉘 스크립트를 작성하면서 처음 접한 가장 큰 문제였습니다.
쉘 스크립트를 실행하면 그 안에서 python 프로그램을 실행시키도록 만들었는데,
어째서인지 argparse를 이용해 만들어둔 옵션들을 쉘 스크립트가 실행할 때 똑바로 인식하지 못하는 것입니다.
몇시간동안 대체 무엇을 잘못했는지 찾다가 의외로 해결책은 가까운 곳에 있었습니다.
https://www.snoopybox.co.kr/1613
윈도우에서는 문장 마지막에 커서를 문장 시작부분으로 옮기는 \r이 붙어있다는 사실을 처음 알았습니다.
결론부터 말하자면,
Windows -> Linux sed -i -e 's/\r$//' file.sh |
Linux -> Windows sed -i -e 's/$/\r/' file.sh |
위의 명령어를 통해서 .sh파일의 문장들을 간단하게 수정한 후 실행하면 정상적으로 작동하게 됩니다.
간략하게 설명해보자면,
- sed 명령어의 경우 정규표현식을 이용해서 단순 반복작업을 간단하게 끝내버릴수 있는 명령어입니다.
- $는 정규 표현식에서 문장의 끝을 의미하고, 따라서 \r$은 \r이 문장 끝에 등장한다는 의미가 됩니다.
sed의 옵션에 대해서는 잘 정리해 놓은 블로그 링크를 첨부합니다.
'Linux' 카테고리의 다른 글
Linux(Ubuntu) FTP server 구축하기 (0) | 2020.08.07 |
---|