通过sudo执行命令,读的环境变量路径和其他用户读的环境变量是不一样的:
错误重现
root@haha:~# su - test
test@haha:~$ sudo java -version
[sudo] password for test:
sudo: java: command not found
解决:
vi /etc/sudoers
# 把路径加入java路径
test ALL=(ALL:ALL) ALL
Defaults secure_path="/usr/java/jdk1.7.0_80/bin:/usr/local/sbin"
再执行命令,结果正确

本文介绍了解决使用sudo执行命令时找不到特定程序的问题。通过编辑/etc/sudoers文件并添加正确的路径到secure_path变量中,使得sudo可以找到如java等程序的位置。

425

被折叠的 条评论
为什么被折叠?



