Попытка создать функцию для проверки наличия проблем с SSL на веб-странице. В конкретном сценарии мы настроили ожидаемый вывод для curl https://domain, включая:
curl: (60) SSL certificate problem: self signed certificate
... мы используем grep в соответствии со строкой ниже, чтобы установить переменную SSL_STATUS для той строки, которую мы затем прокачаем через оператор if.Проблема в том, что он устанавливает переменную и затем выпадает из сценария без видимой причины:
+ https_status
++ curl https://steelrain.eu
++ grep 'SSL certificate problem'
+ SSL_STATUS='curl: (60) SSL certificate problem: self signed certificate'
После проверки это не результат grep, а curl, и я не знаю, почему (это все ещепроизошло при использовании SSL_STATUS=$( curl https://${DOMAIN}
), который является основой).
Возможно, я просто не понимаю, как что-то здесь работает, потому что я толстый, но любая помощь будет оценена.
SSL_STATUS=$( curl https://${DOMAIN} 2>&1 | grep "SSL certificate problem" )
Вероятно, следовало бы упомянуть об этом раньше, но установка функции для запуска команды curl также исключает ее из сценария, поэтому она не устанавливает выходные данные для переменной, которая вызывает проблемы.