为什么将命令添加到 PATH 后 sudo 找不到命令?

rog*_*ger 21 permissions sudo

我想在PATH中添加一些命令,以便我可以方便地使用它们,例如:

export $PATH = "$PATH:/opt/storm/bin"
Run Code Online (Sandbox Code Playgroud)

但有时storm需要root权限,但是当我使用它时sudo,Ubuntu找不到该命令。

sudo storm nimbus
Run Code Online (Sandbox Code Playgroud)

使用时如何找到这些命令sudo

May*_*hux 33

您必须将路径添加到sudo路径中。

运行命令 sudo visudo

你会看到这样的一行:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
Run Code Online (Sandbox Code Playgroud)

现在在这里添加您的命令的路径,这应该可以工作。

例如:

$ sudo storm
sudo: storm: command not found
Run Code Online (Sandbox Code Playgroud)

现在添加上面的路径:

$ sudo visudo 

secure_path="......:/opt/storm/bin"
Run Code Online (Sandbox Code Playgroud)

保存并退出。

现在sudo storm将正常工作。

注意您还应该将路径添加到/etc/profile.