문제

라인은 무엇입니까?

#!/usr/bin/env python

사용 된 파이썬 스크립트의 첫 번째 줄에서?

도움이 되었습니까?

해결책

유닉스와 리눅스에서 이것은 통역사로 사용할 바이너리를 알려줍니다 (또한 참조 위키 페이지). 예를 들어 쉘 스크립트는 다음으로 해석됩니다 /bin/sh.

#!/bin/sh

파이썬을 사용하면 바이너리가 설치된 위치 나 사용하려는 곳을 가정 할 수 없기 때문에 약간 까다 롭습니다. 그래서 /usr/bin/env 장난. 파이썬 바이너리가 가장 먼저 사용됩니다. $PATH. 그 실행을 확인할 수 있습니다 which python

통역사 라인을 사용하면 실행 파일로 Chmoding을 통해 스크립트를 실행할 수 있습니다. 그리고 그냥 실행합니다. 따라서 스크립트가 시작됩니다

#!/usr/bin/env python

이 두 가지 방법은 다음과 같습니다.

$ python script.py

그리고 (이전에 당신이 한 일을 가정합니다 chmod +x script.py)

$ ./script.py

이것은 시스템 와이드 스크립트를 작성하는 데 유용합니다.

cp yourCmd.py /usr/local/bin/yourCmd
chmod a+rx /usr/local/bin/yourCmd

그리고 당신은 어디에서나 전화합니다

yourCmd

다른 팁

이것을 a라고합니다 오두막 선:

컴퓨팅에서 Shebang (Hashbang, Hashpling 또는 Pound Bang이라고도 함)은 "#!"캐릭터를 나타냅니다. 텍스트 파일의 첫 두 문자 일 때. UNIX와 같은 운영 체제는이 두 문자의 존재를 파일이 스크립트임을 표시하고 파일의 첫 번째 줄의 나머지 부분에 지정된 통역사를 사용하여 해당 스크립트를 실행하려고합니다. 예를 들어, Bourne Shell의 쉘 스크립트는 첫 번째 줄부터 시작합니다.

UNIX 및 유사한 운영 체제 에서이 라인은 파일이 실행되면 어떤 통역사를 사용할 것인지 알려줍니다.

안드리가 말했듯이. Windows에서 명령 줄에서 시작될 때 파일을 실행하는 실행 파일은 연관성에 의존합니다.

16:12:40.68 C:\>assoc .py
.py=Python.File

16:13:53.45 C:\>assoc Python.File
Python.File=Python File

16:14:01.70 C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*

UNIX에서 쉘 통역사는 파일을 열고 파일에 명령이 지정된지 확인하여 추론합니다.

'/usr/bin/env python'은 Python의 $ 경로를 검색하여 실행합니다.

대개 env 프로그램의 환경 변수를 설정하는 데 사용됩니다.

그 라인이하는 일은 단순히 파일을 실행하려고한다면 컴퓨터에게 해당 파일로 무엇을 해야하는지 알려주는 것입니다. 통역사를 지정하지 않고.. 자세한 세부 사항

그냥 메모,이 줄은 통역사에게 댓글이 아닙니다. 창에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top