2012-03-27 5 views

답변

12

쉘 스크립트의 현재 (초기) 디렉토리는 스크립트를 호출 한 디렉토리입니다.

7

실행시 pwd의 출력을 확인하여 직접 수행 할 수 있습니다. 이 디렉토리 을 인쇄합니다. 현재입니다. 스크립트가 아닙니다.

스크립트가 디렉토리를 전환하지 않으면 에서 실행 한 디렉토리가 인쇄됩니다.

66

이미 언급했듯이 위치는 스크립트가 호출 된 위치입니다. 스크립트 참조 위치를 설치 위치로 지정하려면 매우 간단합니다. 아래는 PWD 및 설치된 디렉토리를 인쇄하는 스 니펫입니다.

#!/bin/bash 
echo "Script executed from: ${PWD}" 

BASEDIR=$(dirname $0) 
echo "Script location: ${BASEDIR}" 
15

대부분의 대답은 현재 경로를 얻고 상황에 맞는 것입니다. 모든 디렉토리에서 스크립트를 실행하려면 아래 스 니펫을 사용하십시오.

DIR="$(cd "$(dirname "$0")" && pwd)" 

서브 쉘에서 디렉토리를 전환함으로써, 우리는 다음 pwd 전화에 관계없이 문맥의 스크립트의 올바른 경로를 얻을 수 있습니다.

$DIR"$DIR/path/to/file"

으로 사용할 수 있습니다.