python 실행파일로 실행하기

2019. 8. 6. 23:09PL/Python

보통 python 소스파일을 수행하려면 다음 명령어를 수행해야만 한다 

 $ python 소스파일 

 

하지만 실행파일 권한을 줘서 바로 실행시킬 수 있는데 이를 가능케 하기 위해서는 Shebang('#!/')으로 시작해야 가능하다. 유닉스 시스템에서 Shebang이 있는 스크립트는 프로그램으로서 실행되며, 프로그램 로더가 스크립트의 첫 줄의 나머지 부분을 인터프리터 지시자로 구문 분석한다. 즉, 지정된 인터프리터 프로그램이 대신 실행되어 스크립트의 실행을 시도할 때 처음 사용되었던 경로를 인수로서 넘겨주게 된다

 

 $ chmod +x 소스파일 
 $ ./소스파일 

 

이때 bad interpreter 에러가 난다면 원격 OS인 윈도우에서 파일을 작성해서 그런 것이다. MS 윈도우에서는 EOL인 문장의 끝을 CR(\r)과 LF(\n)을 사용하지만, 리눅스에서는 LF로만 표현한다. 리눅스는 MS 형식의 파일을 저장할 때 행의 마지막에 ^M(Ctrl + M)을 추가하여 CR+LF가 라인의 끝이라는 것을 표시한다

 

따라서 리눅스 시스템에 맞춰 CR을 제거해야 하는데, 이때 사용하는 것이 sed(Stream Editor) 명령어다

 

 $ sed -i "s/\r//" ./소스파일 

 

sed 명령어는 vim에서 치환명령과 유사한데, \r을 다음 문자로 치환하는 것인데, 지금은 아무것도 없으므로 삭제하라는 명령이다

'PL > Python' 카테고리의 다른 글

Atom에서 파이썬 인터프리터 실행하기  (0) 2019.08.15
if __name__ == "__main__"  (0) 2019.08.07
랜덤 숫자 맞추기 python  (0) 2019.08.04
python3에서 나누기 주의사항  (0) 2019.08.04
python 256과 257  (0) 2019.08.04