【问题标题】:Mac echo $JAVA_HOME return blankMac echo $JAVA_HOME 返回空白
【发布时间】:2021-06-16 04:55:34
【问题描述】:

不知道为什么 echo $JAVA_HOME 返回空白

Abdelmajids-iMac:~ majid$ vi .profile

export PATH=/usr/local/bin:(...)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load 
RVM into a shell session *as a function*
export JAVA_HOME=$(/usr/libexec/java_home)
~                                                                                                    

~      


Abdelmajids-iMac:~ majid$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
Abdelmajids-iMac:~ majid$ vi .bash_profile
Abdelmajids-iMac:~ majid$ source .bash_profile
-bash: .bash_profile: line 1: syntax error near unexpected token `('
-bash: .bash_profile: line 1: `export PATH=/usr/local/bin:(...)'
Abdelmajids-iMac:~ majid$ echo  $JAVA_HOME

Abdelmajids-iMac:~ majid$ 

【问题讨论】:

  • 你应该修复第 1 行的语法错误...
  • export JAVA_HOME=$PATH:/usr/libexec/java_home 为我工作

标签: java bash


【解决方案1】:

声明export JAVA_HOME=$(/usr/libexec/java_home) 似乎是正确的;如果 bash 会评估 $() 中的信息并返回空白。

看起来是语法错误导致错误无法执行,使 JAVA_HOME 为空。

此链接中讨论了 $() 的用法。 Difference between ${} and $() in Bash.

【讨论】:

  • 在 macOS 主机上,export JAVA_HOME=$(/usr/libexec/java_home)不是不正确,这是在该平台上设置 JAVA_HOME 的标准方法。 java_home(1) 不是目录,而是“从当前用户的设置返回 Java 主目录的路径”的二进制文件。
【解决方案2】:

$(str) 其中 str 应该是一个命令。在您的情况下, $(/usr/libexec/java_home) 不会返回任何内容。 只需使用

export JAVA_HOME=/usr/libexec/java_home 

【讨论】:

  • 实际上,/usr/libexec/java_home 不是java home 目录,它是一个可执行文件,它试图找出java home 目录在哪里并输出它的路径。如问题中的示例所示,它在 OP 的计算机上输出“/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home”。所以这个作业对我来说是正确的。
【解决方案3】:

我在安装 Amazon Corretto jdk15 后遇到了这个问题。但是,就我而言,我只是关闭并重新打开终端,一切正常,也就是说,通过运行

回显 $JAVA_HOME

它打印到控制台:

/Users/username/.sdkman/candidates/java/current.

【讨论】:

    【解决方案4】:
    • 在你的终端上创建一个 .zshrc 文件

      touch ~/.zshrc
      
    • 现在点击go -> home -> 按 shift+command+。

    • 您现在可以看到隐藏文件。打开 .zshrc 文件并输入:

      export JAVA_HOME=$(/usr/libexec/java_home)
      export PATH=/opt/homebrew/bin:$PATH
      

    【讨论】:

      猜你喜欢
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 2014-06-15
      • 2016-06-15
      • 2020-09-16
      • 1970-01-01
      • 2018-12-23
      相关资源
      最近更新 更多