1

我正在我的mac上安装Mongo db ...并将Mongodb / bin目录导出到PATH ..看起来我损坏了bash_profile,现在我找不到它..

这就是我所做的:

nano ~/.bash_profile

该文件不存在,所以我继续创建一个并添加以下行

export PATH={$PATH}:~/mongo/bin

所以现在我保存了文件 .. 按 ctrl + O 然后在提示符下按 Enter 键。然后我按 ctrl + X 退出 nano。我使用以下命令重新加载了我的 bash 配置文件:

$ source ~/.bash_profile.

......

现在,即使是 open、clear、grep 等基本命令也会导致

-bash:清除:找不到命令

当我做

export $PATH

这就是出现的...

*

-bash:导出:`{{/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin}:/Users/pavbond007/Documents/Mongo/mongodb-osx-x86_64-2.2.3 /bin}:/Users/pavbond007/Documents/Mongo/mongodb-osx-x86_64-2.2.3/bin':不是有效的标识符

*

我是这方面的新手..请帮助我回到我可以访问所有 mac 和 unix 命令的原始状态..

如果您需要更多详细信息,请告诉我..我的操作系统是山狮..我还安装了 XCode..

4

2 回答 2

4

我怀疑问题是当您不希望 $PATH 扩展时它正在扩展。导出命令没有任何不同的处理方式。Export 期望导出一个环境变量的名称,但您没有给它变量的名称,而是给它变量引用本身,它会被扩展。

想一想:

echo PATH

输出

PATH

然而,这

echo $PATH

输出这个:

{{/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin}:/Users/pavbond007/Documents/Mongo/mongodb-osx-x86_64-2.2.3/bin}:/Users/pavbond007/Documents/Mongo/mongodb-osx-x86_64-2.2.3/bin

因此,要导出 PATH 变量,请改用此方法(注意缺少美元符号):

export PATH

另外,我注意到您的 $PATH 中有一堆花括号。把那些拿出来。我很确定这会破坏事情。

要像您首先尝试的那样在一行中执行此操作,让我们将它们放在一起:

export PATH=$PATH:~/mongo/bin
于 2013-03-17T19:52:28.513 回答
3

如果要扩展标记,则必须将$符号放在大括号之前。PATH无论如何,在这种情况下,您甚至不需要使用它,也不需要大括号:

export PATH+=:~/mongo/bin
于 2013-03-17T20:06:50.660 回答