JAVA_HOME未被发现为Sudo

ano*_*ave 13 java linux sudo java-home

我在运行Jar文件的Linux机器上有一个bash脚本.以普通用户身份登录时,我无权运行该脚本,但会打印以下日志:

*INFO * Using JVM found at /opt/jdk6/bin/java
Run Code Online (Sandbox Code Playgroud)

当我尝试使用Sudo的脚本时,它给出:

*ERROR* Unable to locate java, please make sure java is installed and JAVA_HOME set
Run Code Online (Sandbox Code Playgroud)

我已经设置JAVA_HOME了相同的路径 - 可以看到它echo $JAVA_HOME&它也被设置为脚本中的选项.我很高兴脚本不是问题 - 这是一个默认的CQ5控制脚本,我在其他几十个盒子上使用它没有问题.只是不确定我上面做错了什么并假设它是Linux设置时我缺少的东西?

当我运行sudo命令时,它是否可以访问JAVA_HOME我自己设置的命令?

for*_*rk0 25

默认情况下,sudo将清除生成的命令的环境.通过-E保留它:

sudo -E env
Run Code Online (Sandbox Code Playgroud)

相比于:

sudo env
Run Code Online (Sandbox Code Playgroud)