2010-07-23 3 views
7

__FILE__에 해당하는 sh가 있습니까? 현재 실행중인 파일의 경로 이름을 알려 주시겠습니까? POSIX 솔루션이 선호되고 배시 허용. 감사합니다.sh 상당의 __FILE__

+0

가능한 중복 [배쉬 스크립트가 저장 무슨 디렉토리를 말씀해 주시겠습니까?] (HTTP : // 유래 .com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in) – rightfold

답변

5

$0을 사용해보세요.

+4

다른 파일에서 가져온 파일에서이 작업을 수행하는 경우이 작업은'__FILE__'과 동일하지 않습니다 . – mxcl

+0

"$ 0"은 어떨까요? –

0

그냥 생각 : bash는 스크립트 솔루션을

#!/usr/bin/env bash 

# "$0" will expand to the name of the script, as called from the command line 
readlink -f $0 
+0

스크립트가 $ PATH 변수를 통해 호출되면 올바르지 않습니다. –

+0

아직도 (편집 참조)? – miku

+0

'readlink'는 완전히 이식 가능하지 않습니다. OSX (그리고 BSD는 일반적으로?)는 완전히 다른 버전을 가지고 있는데,'-f'가 지원되지 않습니다. 오히려'-f'가 다른 것을 의미합니다 (여기서는 도움이되지 않습니다). – Telemachus

관련 문제