使用 sudo 无法找到添加到 PATH 的文件夹

使用 sudo 无法找到添加到 PATH 的文件夹

可能重复:
使用“sudo”运行时的环境变量

我已经在路径中添加了一个新文件夹,但是当使用“sudo”运行程序(在该文件夹中)时它不起作用。

当我输入

sudo <command-name>

它返回:

sudo: <command-name>: command not found

我如何让它可用于 sudo?

答案1

这很奇怪。无论如何,我认为

sudo /FULL_PATH/program_name

将工作。

另一个好主意是在 /sbin/ 目录中添加一个符号链接

sudo ln -s /FULL_PATH/program_name /sbin

答案2

PATH 位于您的 ~/.profile、~/.bashrc 或 ~/.bash_profile 文件中。此文件仅供您的帐户使用。

当您设置 PATH 时,您可能编辑了 /home/yourname/.profile,对吗?Sudo 不会(如人们所想的那样)使用 /root/.profile 中的 PATH 而不是 /home/yourname/ 中的 PATH,也不会始终使用您自己的 PATH。

问题是 sudo 会覆盖几个变量。具体覆盖哪些变量取决于您的系统。以 root 身份运行:

sudo -V

它会告诉你你的 PATH 是否被使用。然后你可以使用 sudo -E 选项覆盖默认 PATH 的使用。请参阅手册页中有关 /etc/sudoers 文件的描述。

相关内容