sudo xx 找不到命令

Posted

tags:

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

参考技术A 使用 sudo 执行时, 环境变量默认会重置, PATH 不再是执行 sudo 之前的了. 导致很多命令在一般用户下找得到, 换sudo执行就找不到了

在 /usr/bin 下面给需要的命令建立软连接. 因为 /usr/bin 包含在sudo的secure_path路径中. 如
sudo ln -s /opt/nodejs/node/bin/node /usr/bin/node

修改 /etc/sudoers 里的 secure_path 变量, 把需要的目录路径加入进去.
修改 /etc/sudoers 文件使用 visudo 命令:
sudo visudo

然后使用 sudo -E 执行命令. -E会保持当前的环境变量,但仍然需要执行的命令位于 secure_path 路径之中. 如"
sudo -E pm2 status

sudo env PATH=$PATH <需要使用sudo执行的命令>

嫌每次输入麻烦的,配置sudo命令别名
vim .bash_aliases # 或者 vim .bashrc
alias sudo='sudo env PATH=$PATH'

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

Ubuntu执行命令时,不sudo提示权限不足,sudo提示找不到该命令

sudo:npm:找不到命令

sudo: npm:找不到命令

sudo:端口:找不到命令

Bash:sudo:找不到命令

使用 sudo 运行时找不到命令