我刚刚从源代码编译并安装了 Apache Web 服务器,现在我想将脚本添加apachectl
到PATH
.
我知道我需要将目录添加到root
用户目录PATH
(因为脚本需要以 root 身份运行),所以我想我会尝试添加以下行:
- 文件:
/root/.bashrc
#
# add directory of apachectl to PATH
PATH=$PATH:/usr/local/apache2/bin
我知道我添加的路径是正确的,但如果我运行命令:
sudo apachectl start
我得到:
sudo: apachectl: command not found
我怎样才能将此目录添加到我的PATH
?
答案1
将目录添加到 sudo 的方法PATH
(正如您发现的那样)不是与 root 相同),就是编辑该sudoers
文件:
sudo visudo
然后,找到这一行:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
并将您的目录添加到其末尾:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache2/bin"
或者,您可以创建要运行的可执行文件的符号链接并将它们直接放入/usr/local/bin
:
sudo find /usr/local/apache2/bin -type f -executable -exec ln -s {} /usr/local/bin/
添加别名可以sudo
导出您的环境,但有点不优雅,更重要的是,它仅适用于一个用户。