Linux中root用户找不到JAVA_HOME
折腾虚拟机环境的时候遇到了这样的问题,root用户找不到JAVA_HOME,但是普通用户可以找到。
在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubuntu默认是不以root用户登录的,这时echo $PATH可以看到JAVA_HOME已经被设置好了,java命令也可以执行。接下来su root,再输入java命令提示找不到java命令,$PATH中也找不到JAVA_HOME这个路径了。查了很久的资料也没有找到原因,后来偶然切换用户的时候用了su - root命令,这时又可以找到JAVA_HOME这个变量了。
对比了一下su和su - 这两个命令的差别才明白:su是切换用户存取权限,但是没有获得环境变量,所以PATH没有被带入;su -是完全的切换用户,可以获得环境变量,所以可以找到JAVA_HOME。
相关推荐
lpfvip00 2020-10-07
XPZ0 2020-09-22
Kingonion 2020-08-03
Attend 2020-07-27
sixforone 2020-07-06
lifeison 2020-06-05
YYDU 2020-05-29
kernelstudy 2020-05-21
酷云的csdn 2020-05-18
victorzhzh 2020-05-16
iamplane 2020-05-10
小惠 2020-05-08
84931231 2020-05-06
zhongzhiwei 2020-04-22