Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos JAVA_HOME上这两个导出语句之间的区别是什么?_Macos_Maven_Export_Environment Variables - Fatal编程技术网

Macos JAVA_HOME上这两个导出语句之间的区别是什么?

Macos JAVA_HOME上这两个导出语句之间的区别是什么?,macos,maven,export,environment-variables,Macos,Maven,Export,Environment Variables,我使用苹果公司推荐的export-JAVA\u-HOME=/usr/libexec/JAVA\u-HOME设置我的JAVA\u-HOME。但它失败了。这指的是使用export JAVA_HOME=$(/usr/libexec/JAVA_HOME),这是有效的 那么这两者之间的区别是什么呢 export JAVA_HOME=/usr/libexec/java_home export JAVA_HOME=$(/usr/libexec/java_home) java_home是一个工具,旨在帮助确定

我使用苹果公司推荐的
export-JAVA\u-HOME=/usr/libexec/JAVA\u-HOME
设置我的
JAVA\u-HOME
。但它失败了。这指的是使用
export JAVA_HOME=$(/usr/libexec/JAVA_HOME)
,这是有效的

那么这两者之间的区别是什么呢

export JAVA_HOME=/usr/libexec/java_home
export JAVA_HOME=$(/usr/libexec/java_home)

java_home是一个工具,旨在帮助确定java_home环境变量的正确值。从手册页(
man java_home
):

现在,在bash中,用
$(…)
围绕命令插入由所附命令打印的标准输出。因此,您的出口声明:

        export JAVA_HOME=$(/usr/libexec/java_home)
。。。表示“将JAVA_HOME设置为运行
/usr/libexec/JAVA_HOME
打印的值”


如果没有周围的$(…),导出只是将JAVA_HOME变量设置为文本字符串“/usr/libexec/JAVA_HOME”,这肯定不是您想要的。

这与
JAVA_HOME=/usr/libexec/JAVA_HOME
        export JAVA_HOME=$(/usr/libexec/java_home)