2014-10-22 2 views
0

json 파일을 mongo로 가져 오려고합니다. 나는이 라인을 사용하여 파일을 가져올 때, 그것을 작동 :Mac에서 Mongoimport가 파일 경로의 변수와 함께 실패합니다.

mongoimport -d reps_development -c users --jsonArray --file ~/reps/scripts/mockUserData.json 

스크립트 내 .bash_profile에 설정되는 환경 변수 $의 REPS_ROOT을 사용합니다. 이 줄은 실패 이유가 작동하지 않습니다에

export REPS_ROOT="~/reps" 

어떤 생각 : 나는 다음과 같은 명령으로 $의 REPS_ROOT을 설정

mongoimport -d reps_development -c users --jsonArray --file $REPS_ROOT/scripts/mockUserData.json 

? 내가 오류는 다음과 같습니다

file doesn't exist: ~/reps/scripts/mockUserData.json 
+0

전체 경로가 작동하지만, 난 정말 내가 상대 경로로이 작업을 수행 할 수없는 이유를 알고 싶습니다 : 또는 당신은 ~ 대신 $HOME를 사용할 수 있습니다. 그래, 맞아? – ritmatter

답변

0

배쉬는 값이된다 ~/reps$REPS_ROOT 확장합니다. Bash는 그 값을 다시 확장하지 않습니다. 해당 변수의 값에 상대 경로가 포함되어 있으면 확장되었는지 확인해야합니다. 예 :

mongoimport -d reps_development -c users --jsonArray --file $(cd $REPS_ROOT; pwd)/scripts/mockUserData.json 

Linux를 사용하는 경우 대신 $(readlink -f $REPS_ROOT)을 사용할 수 있습니다.

export REPS_ROOT="$HOME/reps"