问题的原因: 在编译sudo包的时候默认开启了- -with-secure-path选项。
方法1: 在/etc/sudoers文件内增加这么一行:Defaults secure_path=”/bin:/usr/bin:/usr/local/bin:…”, 把要用的命令path包括进去。
方法2: 用命令的绝对路径。
方法3: 使用sudo的env选项,像这样sudo env PATH=$PATH cmd.sh。
方法4: 把脚本拷贝或链接到系统$PATH中。
方法5: 重新编译sudo,不带–with-secure-path选项了.(终极解决办法)。