我将它添加到PATH后为什么不能找到命令?

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

export $PATH = "$PATH:/opt/storm/bin" 

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

 sudo storm nimbus 

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

您必须添加sudo路径的路径。

运行命令sudo visudo

你会看到这样的一行:

 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$ 

现在在这里添加命令的路径,这应该可行。

例如:

 $ sudo storm sudo: storm: command not found 

现在添加如上所示的路径:

 $ sudo visudo secure_path="......:/opt/storm/bin" 

保存并退出。

现在sudo storm将正常工作。

注意您还应该在/etc/profile添加默认路径的路径。

我认为您已在用户级别创建了别名。 这就是为什么快捷方式仅在用户级别可用。

您应该将该别名命令行添加到/ root文件夹中的.bashrc文件而不是/home/user/.bashrc(this .bashrc文件属于非root用户帐户)。

因此,当您以root用户身份登录时,可以直接在shell中使用alias命令。