2016-06-18 111 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。