2016-06-18 113 views
0

我的Mac(埃尔 - 匹),我已经添加下面的命令到我的.bash_profile文件:设置JAVA_HOME,却忽略错误

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

这完全设置正确的JAVA_HOME环境变种。但是,在我的一台机器上,我没有安装java,我不想安装java :)。

我有一个点文件库,所以我所有的机器我也有同样的.bash_profile文件。现在的问题是,没有Java的机器上,上述命令输出这样的:

Unable to find any JVMs matching version "(null)". No Java runtime present, try --request to install.

现在我的问题是:我怎么能摆脱错误/警告的,在不改变命令的含义?

回答

0

可能包装成一个if语句,检查是否实际安装java吗?是这样的:

if ls /Library/Java/JavaVirtualMachines/j* 1> /dev/null 2>&1; then 
    export JAVA_HOME="$(/usr/libexec/java_home)" 
fi 

它使用ls(感谢这个提问/回答:Check if a file exists with wildcard in shell script)的返回代码,以找出是否有开始第j任何文件或目录(如jdk1.8.0_92.jdkjre1.8.0_92.jre)。只有存在这样的JDK/JRE时,它才会尝试导出JAVA_HOME。