尝试添加 ~/.bash_profile 后所有命令都不起作用

尝试添加 ~/.bash_profile 后所有命令都不起作用

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

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

    export JAVA_HOME=$(/usr/libexec/java_home)
    
    export PATH=$JAVA_HOME/bin=$PATH
    
  • source ~/.bash_profile

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

nano ~/.bash_profile

表明:

-bash: nano: command not found

我也尝试了其他命令,例如brew doctorcurl、等。所有这些命令都显示命令未找到错误。vimjava -version

解决这个问题的办法是什么?我怎样才能恢复我的系统?

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

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

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

答案1

线路

export PATH=$JAVA_HOME/bin=$PATH

应该读

export PATH="$JAVA_HOME/bin:$PATH"

(请注意最后=更改为,并且为了安全起见,我还对值加了双引号,以防任何路径名中存在空格):

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

/usr/bin/nano ~/.bash_profile

...然后重新启动您的 shell/终端。在 shell 启动文件上使用source几乎从来都不是一个好主意,因为这会添加到现有PATH变量(也可能添加到其他变量),而不是修改变量的“干净”版本,并且如果事情发生,它可能会产生其他有趣的副作用像tmux或 一样screen自动启动。

您还可以暂时获取一个合理的值,PATH以便可以nano使用以下命令修复文件

PATH=$(getconf PATH)
nano ~/.bash_profile

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

答案2

尝试nano使用绝对路径运行,例如

/usr/bin/nano ~/.bash_profile

或者

/bin/nano ~/.bash_profile

(我不知道它nano位于您系统的哪个位置。)

当添加$JAVA_HOMEPATH你的时候.bash_profile你必须使用:而不是=

export PATH="$JAVA_HOME/bin:$PATH"

相关内容