如何在OSX Mavericks上恢复.bash_配置文件?
我一直在我的MAC上安装新软件(mongoDB、maven等)。 我想我在编写新路径时重写了原始的.bash_配置文件。 现在bashshell中的大多数基本命令都不起作用了如何在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
-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?)