举个例子,如果你使用 snap 安装软件,它把可执行文件放在 /snap/bin 目录里。
即使你把 /snap/bin 路径加到 PATH,当使用 sudo,依然找不到命令。
解决方法
几种解决方法。
sudo "PATH=$PATH" cmd(如果 PATH 中带有=,你需要这么写sudo env "PATH=$PATH" cmd)- 编辑
/etc/sudoers的secure_path。sudo 寻找的 PATH 就是secure_path的值。
- Debian 默认的是
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - 你可以使用
sudo EDITOR=vim visudo来修改。改成Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
- 在 PATH 里的某个目录里创建软链接,指向
/snap/bin里的文件。(每个文件都要手动创建,就很麻烦)