我遇到了一个我以前从未见过的问题,无法准确解释。我正在帮助某人在RedHad 4.6 zLinux上运行基于perl的安装,并且在sudo下运行似乎抓住了系统perl而不是完全合格的perl可执行文件。
示例:
/my/perl/bin> ./perl -v == 5.8.8
/my/perl/bin> /my/perl/bin/perl -v == 5.8.8
/my/perl/bin> sudo /my/perl/bin/perl -v == 5.8.5????
即使我们完全符合我们的perl路径,但在sudo下运行时仍然会抓取/ usr / bin / perl。我不知道为什么,任何大师都知道吗?
答案 0 :(得分:0)
保护环境:
sudo -E /my/perl/bin/perl -v
答案 1 :(得分:0)
编辑sudoers config:
sudo gedit /etc/sudoers
添加此行
Defaults env_keep +=PATH
这类似于sudo -E
但是持久。
答案 2 :(得分:0)
检查你的sudoers文件是否设置了secure_path选项,如果是这样那么那就是你的PATH
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"