@CloudZero

Как перенаправить curl в переменную и сравнить со строкой?

Есть скрипт что то на подобе
status=$(curl -k -Is https://example.com" | head -1)

if [ "$status" = "HTTP/2 200" ]
then
	echo -e "Server status OK"
elif [ "$status" = "HTTP/2 401" ]
then
	echo -e "Server have problem with auth"
else
	echo -e "Server status ERROR"
fi

Но почему то при сравнении переменная $status и строка "HTTP/2 200" не равны, хотя если делать echo $status то отдает именно такую строку.
Как мне добиться что б $status = "HTTP/2 200"?
  • Вопрос задан
  • 436 просмотров
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
можно проще
status=$(curl -o /dev/null -Iksw "%{http_code}" https://example.com)

и уже сам код сравнивать с тем что нужно
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Germanjon
Первое, что бросилось в глаза - при сравнении должно использоваться два знака равенства
if [ "$status" == "HTTP/2 200" ]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы