Jar 파일을 실행하는 Linux 상자에 bash 스크립트가 있습니다. 일반 사용자로 로그인했을 때 나는 스크립트를 실행할 수있는 권한이 없습니다,하지만 다음 로그 인쇄 :JAVA_HOME이 Sudo로 발견되지 않았습니다.
*INFO * Using JVM found at /opt/jdk6/bin/java
그래도 난 sudo를 스크립트를 사용하려고, 그것은 제공을 :
*ERROR* Unable to locate java, please make sure java is installed and JAVA_HOME set
JAVA_HOME
을 위 경로와 동일하게 설정했습니다. echo $JAVA_HOME
&으로 볼 수 있으며 스크립트 내에서 옵션으로 설정됩니다. 스크립트가 문제가되지 않아서 행복합니다. 기본 CQ5 제어 스크립트입니다 & 다른 수십 개의 상자에서 문제없이 사용하고 있습니다. &이 내가 리눅스를 설치하지 않았다는 것을 가정한다면, 내가 잘못하고있는 것을 정확히 알 수 없을까?
sudo
명령을 실행하면 내가 직접 설정 한 JAVA_HOME
에 액세스 할 수 있습니까?
루트와 일반 사용자 등 모두'에코 $ JAVA_HOME'의 정확한 출력은 무엇입니까? –
Andrew, 저는 sudoer와 마찬가지로 시스템 (sysadmin 아님)에서 루트 사용자로서 액세스 할 수 없습니다. 그냥 여기에 문제를 발견 : http://unix.stackexchange.com/questions/6127/java-home-not-set-in-script-when-run-using-sudo Sudo는 환경 변수를 제거하고 관리했습니다. 'sudo -E' 플래그로 – anotherdave
나는 그것이 배포판에 달렸다고 믿는다 - 어떤 sudos는 envs를 유지한다. 다른 사람들은 그렇지 않다. – Raz