0

我正在尝试将 json 文件导入 mongo。当我用这一行导入文件时,它可以工作:

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

该脚本使用在我的 .bash_profile 中设置的环境变量 $REPS_ROOT。此行失败:

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

我使用以下命令设置 $REPS_ROOT:

export REPS_ROOT="~/reps"

关于为什么这不起作用的任何想法?我得到的错误是:

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

1 回答 1

0

Bash 扩展$REPS_ROOT~/reps,它成为值。Bash 不会再次扩展该值。如果该变量的值包含相对路径,则需要确保它已展开。例如:

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

如果您在 Linux 上,则可以$(readlink -f $REPS_ROOT)改用。或者,您可以使用$HOME而不是~

export REPS_ROOT="$HOME/reps"
于 2014-10-22T18:50:14.227 回答