有时候我们普通用户可以用的命令,用 sudo 加权限之后却报错 command not found:

connect.sh
network-manager: Permission denied

sudo connect.sh
sudo: command not found

原因在于,connect.sh 这个脚本仅存在于该用户的环境变量中:

where connect.sh 
/home/fdl/bin/connect.sh

当使用 sudo 时,系统会使用 /etc/sudoers 这个文件中规定的该用户的权限和环境变量,而这个脚本在 /etc/sudoers 环境变量目录中当然是找不到的。
解决方法是使用脚本文件的路径,而不是仅仅通过脚本名称

sudo /home/fdl/bin/connect.sh
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐