내 홈 디렉토리에 Python 스크립트 파일 test.py를 생성하고 실행하여 chmod +x test.py
실행 가능하게 만들고 파일 헤더로 배치한 후 다음을 사용하여 OS X에서 스크립트를 실행할 #!usr/bin/env
수 있기를 원합니다 .bash
$ test.py
하지만 bash
다음을 반환합니다.
-bash: test.py: command not found
다음 명령이 유효합니다:
$ ./test.py
이 실행 가능 스크립트에 현재 작업 디렉터리의 상대 경로가 필요한 이유는 무엇입니까?
답변1
쉘에 실행 명령을 실행하면 프로그램의 실행 경로($PATH)를 검색합니다. 명령 앞에 경로(예: ./)를 붙이면 쉘이 검색하는 것을 방지하고 명시적으로 지정된 특정 프로그램을 사용하도록 쉘에 지시합니다.
프로그램이 검색 경로에 없는 디렉토리에 있는 경우 프로그램 경로를 명시적으로 표시해야 합니다.