如何在OSX Mavericks上恢复.bash_配置文件?

如何在OSX Mavericks上恢复.bash_配置文件?,bash,shell,path,.bash-profile,Bash,Shell,Path,.bash Profile,我一直在我的MAC上安装新软件(mongoDB、maven等)。 我想我在编写新路径时重写了原始的.bash_配置文件。 现在bashshell中的大多数基本命令都不起作用了 -bash: ls: command not found 以下是在文本编辑器中打开的my.bash_配置文件 PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin export PATH export PATH=/Users/sychung/mongoDB/bi

我一直在我的MAC上安装新软件(mongoDB、maven等)。 我想我在编写新路径时重写了原始的.bash_配置文件。 现在bashshell中的大多数基本命令都不起作用了

-bash: ls: command not found
以下是在文本编辑器中打开的my.bash_配置文件

PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH

export PATH=/Users/sychung/mongoDB/bin

#maven PATH
export M2_HOME=/Users/sychung/apache-maven-3.1.1
export PATH=$PATH:$M2_HOME/bin

# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave

PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
下面是我在shell中键入“echo$PATH”时的路径列表

/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/Users/sychung/mongoDB/bin:/Users/sychung/apache-maven-3.1.1/bin
我该怎么做才能使狂欢回归正常

根据其他评论,我在shell中键入了以下内容,看起来又是一个工作。但是,当我重新启动终端时,它会一次又一次地返回到“未找到命令”模式

PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH

最终问题是
export PATH=/Users/sychung/mongoDB/bin
,与设置
PATH
的所有其他行不同,它不包括当前的
$PATH
值,因此删除默认的
路径
条目。使该行看起来像其他行(包括
$PATH
,在其中的某个地方),事情应该可以正常进行。

您似乎认为
导出
将获取文件中
路径
的当前值,并将其附加到环境中当前的值。但是,
export
命令只做一件事:它用export属性标记名称
PATH
。当需要为子流程设置环境时,shell将使用export属性获取所有名称的当前值,并将它们添加到该环境中

请注意,一旦流程启动,具有导出属性集的变量(无论是从父级继承的还是本地设置的)和没有导出属性集的变量之间没有区别;它们都只是shell变量

PATH
设置为单个目录时,将覆盖
PATH
的当前值,并丢失以前包含的所有目录

将目录添加到路径的正确方法是

PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH

PATH=$PATH:/new/dircetory
PATH=$PATH:/another/new/one
PATH=/a/very/important/one:$PATH    # you can prepend as well

您只需要导出一次变量,而不是每次设置它。在
路径中也有大量重复的添加项,您可能可以进行清理。(您是否同时需要/拥有python 2.7和3.4?)