Мне нужно программно проверить конфигурацию NGINX на корректность с помощью bash. Результат команды nginx -t присваиваю переменной, и по условию сравниваю подстроку - синтаксис ok с результатом вывода переменной. К сожалению, не получается. Что я делаю не так?
CHECK="nginx -t"
SUB='syntax is ok'
if [[ "eval $CHECK" == *"$SUB"* ]]; then
echo "syntax is ok"
else
echo "syntax is not ok"
fi
Спасибо!
решение1
nginx -t
предоставит полезный код ошибки, поэтому вы можете просто использовать:
if nginx -t > /dev/null 2>&1; then
echo "syntax is ok"
else
echo "syntax is not ok"
fi