我目前正在Linux上安装和集成几个软件,而我对Linux还是很陌生。其中一个软件拒绝运行,并指示我正确设置$ JAVA_HOME。但是我设置了$ JAVA_HOME!但是,当我检查$ JAVA_HOME和java -version测试以查看是否正确完成操作时,只有当我以opc登录时,它才会产生正确的答案。我尝试安装的软件的权限是oracle。以oracle登录时是否需要再次设置$ JAVA_HOME?为什么呢?
[opc@mydir ~]$ $JAVA_HOME
-bash: /u01/jdk-11.0.3/: Is a directory
[opc@mydir ~]$ java -version
java version "11.0.3" 2019-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.3+12-LTS, mixed mode)
[opc@mydir ~]$ sudo su oracle
[oracle@mydir opc]$ $JAVA_HOME
[oracle@mydir opc]$ java -version
bash: java: command not found
答案 0 :(得分:0)
每个进程都设置了环境变量(例如$JAVA_HOME
)。对于shell,通常会使用一些初始化脚本(如.bashrc
)来设置当前会话的所有相关变量。您还应该将$JAVA_HOME
用户中的opc
的初始化也复制到oracle
用户。