现象 在 Linux 下通过 sudo 命令运行某些程序时,比如: sudo -u zookeeper ./zkServer.sh start 报错: Error: JAVA_HOME is not set and java could not be found in PATH. 在当前用户下执行: echo $JAVA_HOME /usr/lib/jvm/jdk22 显然是有的。 而且我们的环境变量是通过/etc/profile或/etc/profile.d/java.sh配置的,全局生效。按理说对于 sudo …