[英]Set java_home, but ignore error
在Mac(El-Capitan)上,我已將以下命令添加到我的bash_profile文件中:
export JAVA_HOME="$(/usr/libexec/java_home)"
這完美地設置了正確的java_home環境var。 但是,在我的一台機器上,我沒有安裝Java,也不想安裝java :)。
我有一個dotfiles存儲庫,因此在我所有的機器上,我都有相同的.bash_profile文件。 現在的問題是,在沒有Java的機器上,上面的命令輸出如下:
Unable to find any JVMs matching version "(null)". No Java runtime present, try --request to install.
現在我的問題是:如何在不更改命令含義的情況下擺脫錯誤/警告?
可能將其打包到if語句中,檢查是否實際安裝了Java? 像這樣的東西:
if ls /Library/Java/JavaVirtualMachines/j* 1> /dev/null 2>&1; then
export JAVA_HOME="$(/usr/libexec/java_home)"
fi
這將使用ls
的返回碼(由於此問題/答案: 檢查shell腳本中是否存在帶通配符的文件 )來確定是否存在以a開頭的文件或目錄(例如jdk1.8.0_92.jdk
或jre1.8.0_92.jre
)。 並且僅當存在這樣的JDK / JRE時,它才會嘗試導出JAVA_HOME。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.