В настоящее время я работаю над сценарием оболочки, который будет действовать как автоустановщик для Multicraft.
Я написал фрагмент, который проверяет, является ли ОС CentOS, а затем решает, какие команды использовать на основеиспользуемая версия CentOS.
# Check server is CentOS
if [ ! -f "/etc/redhat-release" ]; then
echo -e ${COL_RED}"[FATAL]" ${COL_RESET}"This is not a standard CentOS Linux installation!
Aborting..."
quit
fi
# Check version of CentOS
OS_VERSION=$(rpm -qa \*-release | grep -Ei "oracle|redhat|centos" | cut -d"-" -f3)
Область, в которой я регулярно использую эту функцию, - это запуск / включение служб.Например:
if [ "${OS_VERSION}" = "7" ]; then
systemctl enable mariadb
systemctl start mariadb
elif [ "${OS_VERSION}" != "7" ]; then
chkconfig mariadb on
service mariadb start
else
echo -e ${COL_RED}"[FATAL] "${COL_RESET}"Unable to derive OS version."
echo "Aborting..."
quit
fi
Каждый раз, когда я хочу использовать эту функцию, мне в настоящее время приходится повторять один и тот же блок, и мне было интересно, есть ли какие-либо способы сократить / минимизировать это, чтобы сделатьэто выглядит аккуратнее?