2012-11-21 5 views
0

쉘 스크립트를 처음 사용합니다. 다른 파일을 소스로하는 쉘 스크립트가 있습니다. 다른 파일은 이름 값 쌍이있는 파일입니다. 나 혼란스러워.쉘 스크립트 소스 동작

test.dat 
TEST_VARIABLE_PATH=/usr/project/workspace 

스크립트 파일 (test_script.sh)

TEST_VARIABLE_PATH= 
source test.dat 
echo ${TEST_VARIABLE_PATH} 

나를 혼란하게 문 인쇄 서로 다른 값 위의 에코. 내가

TEST_VARIABLE_PATH=/somepath/ 

을 할 경우 1 행에서 은, 심지어 내가 이미 설정 TEST_VARIABLE_PATH 변수를 가지고있는 TEST.DAT을 공급 한 에코 인쇄 할 경우에만 파일을 소싱하는 변수를 덮어 쓰지 않았다

TEST_VARIABLE_PATH=/somepath/ 

. 내가 왜이 소스가 다르게 작동하고

TEST_VARIABLE_PATH=\`dirname $0\`/../ 

, 소스 명령 덮어 쓰기 및 에코 인쇄

TEST_VARIABLE_PATH=/usr/project/workspace 

과 1 호선이있는 경우

은 가정? 제발 도와주세요.

답변

2

파일이 실제로 source 인 것처럼 보입니다.

source '/full/path/to/file' 
+1

또는 단지': 그것을 제대로하려면

는, 마찬가지로 전체 경로 파일의을 넣어./path/to/file'에 있습니다. 'dot [space]/path/to/file'에 주목하십시오. – Jite