尝试添加 ~/.bash_profile 后,所有命令均无效

Sub*_*ako 0 osx bash-profile

我试图添加JAVA_HOME路径变量。
我下载了 Java JDK 并完成了以下操作:

  • nano ~/.bash_profile
  • 添加了以下几行并保存了文件:

    export JAVA_HOME=$(/usr/libexec/java_home)
    
    export PATH=$JAVA_HOME/bin=$PATH
    
    Run Code Online (Sandbox Code Playgroud)
  • source ~/.bash_profile

之后,我尝试使用以下命令再次打开 bash 文件:

nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

表明:

-bash: nano: command not found
Run Code Online (Sandbox Code Playgroud)

我尝试过其他的命令太多,如brew doctorcurlvimjava -version等。所有这些节目不能找到命令。

解决这个问题的方法是什么?如何恢复我的系统?

更新:我使用的解决方案:

我运行以下命令来设置 Mac OS 在命令行中使用的标准默认路径:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Run Code Online (Sandbox Code Playgroud)

Kus*_*nda 6

线

export PATH=$JAVA_HOME/bin=$PATH
Run Code Online (Sandbox Code Playgroud)

应该读

export PATH="$JAVA_HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

(注意最后=更改为:,为了安全起见,我还用双引号引用了该值,以防任何路径名中有任何空格)

您必须使用nano编辑器的完整路径来更改它(/usr/bin/nano在 macOS 上)

/usr/bin/nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

...然后重新启动您的外壳/终端。使用source的shell启动文件是几乎从来没有一个好主意,因为这将添加到现有的PATH变量(并可能其他人也),而不是修改变量的一个“干净”的版本,它可以有,如果事情其他有趣的副作用喜欢tmuxscreen自动启动。

您还可以暂时获得一个合理的值,PATH以便您可以nano使用

PATH=$(getconf PATH)
nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

getconf PATH命令返回一个PATH应该涵盖所有标准实用程序的字符串。在 macOS 上,这包括nano编辑器。