2016-06-18 2 views
0

를 무시, 내 bash_profile 파일에 다음 명령을 추가 한 :설정 JAVA_HOME,하지만 내 맥 (엘 캐피)에 오류

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

이 완벽하게 올바른 JAVA_HOME 환경 VAR을 설정합니다. 그러나, 내 컴퓨터 중 하나에 자바가 설치되어 있지 않고 java를 설치하고 싶지 않습니다 :).

나는 dotfiles 저장소를 가지고 있으므로 모든 컴퓨터에서 동일한 .bash_profile 파일을 사용합니다. 이제 문제는 자바없이 시스템에서, 위의 명령이 출력입니다 :

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.jdk 또는 jre1.8.0_92.jre). JDK/JRE가있는 경우에만 JAVA_HOME을 내보내려고합니다.