Development/OS

실행파일의 절대경로 가져오기

비완 2014. 3. 19. 10:15
반응형

특정 script를 실행시킬때, 실행시키는 위치에 따라 pwd의 결과값이 달라져서 아무곳에서나 실행시키기 곤란한 경우가 종종있었다.

cd를 통해서 특정위치로 이동시켜도 가능했지만, 해당 파일을 다른 곳으로 이동시키면, 파일을 수정해야만 해서 추가 작업이 필요했다.

그래서 찾아보니 다음과 같이 수행하면 추가 수정없이 해당 파일의 위치를 가져올 수가 있었다.

#!/bin/sh
EXEC_FILE="$0"
BASE_NAME=`basename "$EXEC_FILE"`
if [ "$EXEC_FILE" = "./$BASE_NAME" ] || [ "$EXEC_FILE" = "$BASE_NAME" ]; then
        FULL_PATH=`pwd`
else
        FULL_PATH=`echo "$EXEC_FILE" | sed 's/'"${BASE_NAME}"'$//'`
        cd "$FULL_PATH"                 > /dev/null 2>&1
        FULL_PATH=`pwd` 

fi


- 출처 : http://dcmru.tistory.com/2510970

반응형