java - echo %JAVA_HOME% 在 cmd 中有效,但在 git bash 中无效

标签 java shell command-prompt git-bash java-home

Windows 10 用户。我最近第一次安装了 git,但遇到了一个奇怪的问题。有人告诉我,如果我想在 git 中使用 java,我需要设置 JAVA_HOME 环境变量。

我能够为命令提示符正确更改JAVA_HOME,但我无法在 git bash 中显示相同的更改。输入 echo %JAVA_HOME% 将在命令提示符中返回正确的路径,但在 git bash 中将返回 %JAVA_HOME%

我进入系统设置并更改了系统变量,以便 JAVA_HOME 指向我的 jdk。我更新了系统和环境变量中的 PATH 变量以指向 bin 和 jdk。我关闭并重新打开 git bash 和命令提示符。我重新启动了机器,甚至重新安装了 git 和 jdk。我将 jdk 从 Java 10.0.2 降到了最新的 java 8 (171)。

这些都不起作用。我已经浏览了无数的 SO 帖子。我做错了什么?

最佳答案

事实证明,git 使用完全不同的语法来执行 echo。

当我应该做echo $JAVA_HOME时,我一直在做echo %JAVA_HOME%

我看不出我应该使用 $ 而不是 % 符号,因为这些符号在我的字体中看起来非常相似。我只是在出于沮丧而将答案复制/粘贴到 bash 中并在之前不起作用的情况下神奇地起作用后才发现。

但是,答案是使用 $ 而不是 %,因为它们的含义完全不同。 Git bash 使用 $,命令提示符使用 %。您可能会认为他们只会使用相同的符号来完成工作。

关于java - echo %JAVA_HOME% 在 cmd 中有效,但在 git bash 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51811383/

相关文章:

java - 如何在java中获取命令提示符输出?

java - URLConnection URL 包含重音字符的编码问题

Java字符串格式: "%0" and "d%s"

python - 从 python 运行 shell 命令的最佳方法

linux - 在 udev 脚本中将 ATTR{idVendor} 作为参数传递

批处理脚本中的 windows comp 命令 : remove prompts

java - 通过omnifaces ViewScoped多次调用PreDestroy方法

Java - 将一串数字按行读取到列中

linux - 在 Bash 中分配给动态变量名称

shell - Windows shell/命令提示符?