![Linux,我是否需要 if、else 或语句来实现从源代码编译程序的自动化](https://linux22.com/image/785303/Linux%EF%BC%8C%E6%88%91%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%20if%E3%80%81else%20%E6%88%96%E8%AF%AD%E5%8F%A5%E6%9D%A5%E5%AE%9E%E7%8E%B0%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E7%BC%96%E8%AF%91%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%87%AA%E5%8A%A8%E5%8C%96.png)
我想知道编写 bash 脚本来从源代码安装包的最佳方法是什么,是否需要深入了解如何自动执行任务?
例如,假设我想编译 apache
cd /path/httpd
./configure -arguments here -augment here -blah blah
make
make install
这个过程将完全自动化,无需人工干预。像上面那样简单地传递参数就可以了吗?或者你认为应该更深入地使用 else 语句等?
感谢您的时间。
答案1
如果您事先知道自己具备先决条件,那么您可以这样做。
这是工作原理linux 系统 PKGBUILD
秒。
你可以在你的gitlab/github中使用CI-CD来测试编译是否成功。
如果你不确定,那么你需要添加一些条件:
trap 'echo >&2 "Encountered an error"; exit 1' ERR
cd /path/httpd
./configure -arguments here -augment here -blah blah
make
make install
或者
set -e
cd /path/httpd
./configure -arguments here -augment here -blah blah
make
make install
或使用布尔逻辑:
cd /path/httpd &&
./configure -arguments here -augment here -blah blah &&
make &&
make install
每个命令都需要成功才能运行下一个命令。