
Мне интересно, как лучше всего написать bash-скрипт для установки пакетов из исходного кода, нужно ли вообще углубляться в то, как автоматизировать эту задачу?
Например, предположим, что я хочу скомпилировать Apache
cd /path/httpd
./configure -arguments here -augment here -blah blah
make
make install
Этот процесс будет полностью автоматизирован, без человеческого вмешательства. Будет ли нормально просто передавать аргументы, как показано выше, или вы считаете, что это должно быть более глубоко с операторами else и т. д.?
Спасибо за ваше время.
решение1
Если вы заранее знаете, что у вас есть необходимые предпосылки, вы можете это сделать.
Вот как это работаетархлинукс PKGBUILD
с.
Вы можете использовать CI-CD в вашем gitlab/github, чтобы проверить успешность компиляции.
Если вы не уверены, то вам нужно добавить некоторые условия:
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
Каждая команда должна быть выполнена успешно для выполнения следующей.