O valor em $VAR_A
tem um \r
(retorno de carro) no final, o que faz a comparação de cadeias falhar. Ele terá um retorno de carro, pois esse é um cabeçalho HTTP, e o marcador de fim de linha nos cabeçalhos HTTP é especificado em RFC2616 como \r\n
.
Uma maneira de corrigir isso:
VAR_A=$(curl -Is --head "$URL_CURL_CHECK" | grep "HTTP/1.1 200 OK" | tr -d '\r')
tr -d '\r'
removerá todos os retornos de carro.
Outra alternativa é obter grep
para retornar apenas o texto correspondente (que será exatamente a string HTTP/1.1 200 OK
):
VAR_A=$(curl -Is --head "$URL_CURL_CHECK" | grep -o "HTTP/1.1 200 OK")
Você pode, em qualquer caso, usar -F
com grep
aqui, pois a string é uma string fixa em vez de uma expressão regular:
VAR_A=$(curl -Is --head "$URL_CURL_CHECK" | grep -F -o "HTTP/1.1 200 OK")
Seu script também usa else
com uma condição. Use apenas else
ou use elif
com uma condição. Nesse caso, basta remover a condição.