위의 형식 중 bash, Python 등의 스크립트를 실행하는 데 "더 나은" 형식은 무엇입니까? 왜 나는 이것을 할 수 없습니까 #!$(which foo)
? 전체 경로를 지정해야 합니까 env
? 나는에서 수집했다이것대답은 /usr/bin/env
모든 *nix-es에 대해 경로가 불변이라는 것 /usr/bin/python3
입니다. 그렇습니까?
답변1
#!$(which foo)
해당 줄은 커널에 의해 해석 되고 $()
.
PATH
커널은 명령에 대한 환경 변수를 검색 하지 않습니다 . 그렇기 때문에 명령에 대한 전체 경로를 지정해야 합니다.
프로그램 을 사용하더라도 다른 경로(예: 홈 디렉터리)에 최신 버전의 Python이 설치되어 있을 수 있습니다 /usr/bin/env
.PATH
/usr/bin/python3