我需要运行安装在/ opt / godi / sbin(自定义目录)上的程序。如果我将该目录添加到我的PATH中,则将以下行添加到我的.bashrc文件中
export PATH=$PATH:/opt/godi/bin:/opt/godi/sbin
那么我可以尝试正常运行该命令(但由于需要sudo而失败)。但是,当我尝试使用sudo时:
sudo godi_console
我收到以下错误
sudo: godi_console: command not found
在使用sudo之后检查PATH变量显示,该变量不包括我与普通用户相同的PATH:
$ sudo sh
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
为什么路径不一样?难道我做错了什么?我正在使用Debian Jessie,很不幸,我无法通过将sudo传递到godi_console的绝对链接来解决此问题,因为godi_console本身也取决于正确设置的PATH。
secure_path
许多sudo
部署中那样配置和/或env_reset则无法使用。
sudo -E godi_console
。-E
表示“保护环境”。