Linux, нужны ли мне операторы if, else или для автоматизации компиляции программ из исходного кода

Linux, нужны ли мне операторы if, else или для автоматизации компиляции программ из исходного кода

Мне интересно, как лучше всего написать 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

Каждая команда должна быть выполнена успешно для выполнения следующей.

Связанный контент