본문 바로가기

Python

#!/usr/bin/env 정리글

다른 사람이 작성한 파이썬 스크립트를 보면

#!/usr/bin/env python

뭐 이런 코드로 시작하는 것을 종종 볼 수 있었다.

 

평소에는 그냥 지나치다가 정리를 해야할 것 같아서 찾아보았다.

 

그러나 시작하기 앞서 Windows에서는 shebang line은 아무런 의미가 없다고 한다.


 

#!로 시작하는 코드를 Shebang이라고 하며 (Sharp# + bang!),

스크립트를 실행시켜줄 인터프리터의 절대경로를 지정하는 역할을 한다.

 

#!/usr/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
#!/usr/bin/php

와 같이 지정할 수 있으며,

 

 

다른 시스템 환경 내 프로그램을 사용하고 싶다면 "env"를 사용하여

"#!/usr/bin/env 언어" 식으로 입력한다.

#!/usr/bin/env bash
#!/usr/bin/env python
#!/usr/bin/env perl
#!/usr/bin/env php

 

env는 환경 변수에서 지정한 언어의 위치를 찾아 실행된다.

다양한 환경에서 실행되는 스크립트라면 env를 사용하는 것이 좋다.

 

 

 

 


 

출처 : https://blog.gaerae.com/2015/10/what-is-the-preferred-bash-shebang.html

 

Uinx/Linux: Shebang과 env에 대한 설명 (#!/usr/bin/env)

블로그와 SNS에서 주기적으로 기술 정보를 찾고 분류하여 가치를 더해 공유합니다.

blog.gaerae.com