我想将一些命令添加到PATH中,以便可以方便地使用它们,例如:
export $PATH = "$PATH:/opt/storm/bin"
但有时storm
需要root权限,但是当我使用它时sudo
,Ubuntu找不到该命令。
sudo storm nimbus
使用时如何找到这些命令sudo
?
答案1
您必须将路径添加到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
。
答案2
我认为您在用户级别创建了别名。这就是为什么快捷方式仅在用户级别可用。
您应该将该别名命令行添加到 /root 文件夹中的 .bashrc 文件中,而不是 /home/user/.bashrc 中(此 .bashrc 文件属于用户帐户,而不是 root 帐户)。
这样,当您以 root 身份登录时,就可以直接在 shell 中使用别名命令。
答案3
@Maythux 解释了 sudo 搜索可执行文件的安全路径是什么
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
您可以按照答案的建议将路径直接添加到列表中,但更好、更正确的方法是在 /usr/bin 下创建一个符号链接
sudo ln -s -f /opt/storm/bin/storm /usr/bin/storm