如何在 Mac OSX 上重置 Bash,.bash_profile 已损坏,bash 不再起作用

如何在 Mac OSX 上重置 Bash,.bash_profile 已损坏,bash 不再起作用

我在使用 MacBook Pro,运行最新版本的 Mountain Lion。

我确实需要一些帮助,我已经设法损坏了我的 .bash_profile(我认为),以便每次我打开终端时都会收到下面列出的错误。

-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: `/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found

我不确定发生了什么,我没有 sudo、cd 或任何正常命令。我能够访问任何主目录的唯一方法是通过 Finder 中的转到文件夹命令,并尝试找到该文件,但没有成功。

最糟糕的是,我认为我创建了一个可能导致此问题的文件,我想编辑 .bash_profile,因此我输入了

sudo nano ./bash_profile

这会在 nano 中打开一个新文件,我认为该文件已保存。之后我打开了真正的 .bash_profile 以添加 node.js 的路径。

如果我能找到 .bash_profile,我想我可以让它回到正轨,但我找不到它,我应该重新安装 bash 吗?如果是这样,我该如何在 Mac 上做到这一点,我尝试使用

brew install bash

我得到了

-bash: brew: command not found

答案1

把我的所有评论综合起来就得到了一个答案:

您应该做的第一件事就是更改 shell,这样您就可以设置一个不会加载 bash init 脚本的 shell(.bashrc, .bash_profile)——如何为 Mac OS X 终端应用程序执行此操作可以在此处看到:Apple 支持

现在您应该能够再次打开终端并使用您最喜欢的命令行编辑器打开文件.bash_profile(例如nanovi):

在此文件中,您必须重置PATH终端用来查找其可以执行的程序的变量。

可以通过以下两行完成:

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" # Make sure to use double quotes not single quotes And on a new line 
export PATH

这将首先设置您想要在 PATH 上拥有的目录,然后导出此 PATH 以使其可供从此 shell 启动的所有程序使用(通过导出)。

答案2

⇧⌘. 在文件对话框中显示隐藏文件。您可以尝试使用 TextEdit 打开 ~/.bash_profile 并暂时将其清空。

答案3

我遇到了同样的问题,我刚刚找到了更简单的解决方案:

/usr/bin/nano .bash_profile

删除所有乱七八糟的东西,然后保存文件

答案4

我最近发现,DOS 样式文件会导致 OS-X 中的 .bash* 脚本出现问题。我必须对与 Windows 用户共享的一些代码使用 DOS 文件结尾,因此如果我在该 git repo 中编辑 .bash_profile,则在运行脚本(登录时)时会收到大量错误消息。实用程序 dos2unix 修复了这个问题。

相关内容