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)