linux sudo 运行找不到javapython命令

Posted caijunchao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux sudo 运行找不到javapython命令相关的知识,希望对你有一定的参考价值。

技术图片

 

在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,

由于Ubuntu默认是不以root用户登录的,这时echo $PATH可以看到JAVA_HOME已经被设置好了,java命令也可以执行。

接下来sudo 运行shell脚本,提示找不到java命令,$PATH中也找不到JAVA_HOME这个路径了。

查了很久的资料也没有找到原因,后来偶然切换用户的时候用了su - root命令,这时又可以找到JAVA_HOME这个变量了。

对比了一下sudo和su - 这两个命令的差别才明白:sudo是切换用户存取权限,但是没有获得环境变量,所以PATH没有被带入;su - root是完全的切换用户,可以获得环境变量,所以可以找到JAVA_HOME。
---------------------



以上是关于linux sudo 运行找不到javapython命令的主要内容,如果未能解决你的问题,请参考以下文章

找不到 JAVA_HOME 作为 Sudo

sudo xx 找不到命令

Arch Linux sudo:找不到命令

sudo:当我 ssh 进入服务器时找不到命令

使用 sudo 运行时找不到命令

mac下开机自动执行sudo命令的方法