linux - 如何为从源安装的程序创建终端命令

标签 linux shell ubuntu command-line monit

我最近尝试从源代码在 Ubuntu Natty 上安装 monit。这是我的代码:

apt-get -y install openssl libssl-dev bison flex
mkdir src && cd src
wget http://mmonit.com/monit/dist/monit-5.3.2.tar.gz
tar xzf monit-5.3.2.tar.gz
cd monit-5.3.2
./configure --prefix=/usr/local/monit
make && make install

但是,当我使用 apt-get 安装 Monit 时,我可以使用关键字 monit 从命令行直接调用 monit。当我从源代码安装时,我无法这样做。 PHP 也是如此。

当我从源代码安装 Monit(和其他 Linux 程序)时,如何启用此功能?

提前致谢。

编辑

我能够通过执行以下操作解决此问题:

printf "\nPATH=/usr/local/monit/bin:\${PATH}\n" >> ~/.profile
source ~/.profile

这将适用于当前登录的用户(在我的例子中是 root)。要使其在系统范围内使用,只需将 ~/.profile 替换为 /etc/profile

现在我可以调用 monit(以及我从源代码安装的任何其他程序)。

最佳答案

使用该命令安装它会将它放在/usr/local/monit 中,这不会像其他人所说的那样在您的 $PATH 中。不过,除了修改路径之外,还有几个选项。例如,您可以创建一个从实际可执行文件到您路径中的可执行文件的符号链接(symbolic link)。所以如果可执行文件是/usr/local/monit/monit,你可以

ln -s /usr/local/monit/monit /usr/local/bin/monit

创建符号链接(symbolic link)的优点是它适用于所有用户。

您也可以创建别名,但这仅适用于以您的身份运行的应用。

关于linux - 如何为从源安装的程序创建终端命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9212096/

相关文章:

linux - 从 shell 脚本运行 awk 文件而不指定 awk 的确切位置

python - 如何停止 TCPServer,如何删除 TIME_WAIT 套接字

java - 如何在 Ubuntu 16.04 上配置 Postfix,以从 Java Web 应用程序发送邮件

c - 列出以太网 USB 适配器接口(interface)

linux - Azure VM/Docker – 如何在 Azure VM 上将网站部署为 Docker 容器 (Debian)

linux - 大量文件的快速 Linux 文件计数

windows - 在 Windows 上为 GNU Make 定义和使用构建时间戳

c - 如何从 C 源代码创建可执行的 coff 文件

ruby - 在 Chef 配方中,您如何为 Ruby 指定特定的补丁级别?

linux - 如何使用 puppet 脚本创建具有同名主要组的用户?