Tendo problemas de comparação de 2 códigos de resposta shell. Executar o curl e precisa validar se a resposta estiver entre 200 e 400. Além disso, há uma chance da resposta ser "000" quando um servidor está em baixo.
#!/bin/sh
response1="200" #curl first url
response2="000" #curl second url
if (( $response1 -ge 400 || $response1 -lt 200 || $response2 -ge 400 || $response2 -lt 200 )) ; then
echo "Something went wrong, response code is not in success range"
exit 1
else
echo "Success"
exit 0
fi
((: 200 -ge 400 || 200 -lt 200 || 000 -ge 400 || 000 -lt 200 : erro de sintaxe na expressão (erro de token é "400 || 200 -lt 200 || 000 -ge 400 || 000 -lt 200 ")
Se eu alterar os suportes para o [[...]] ele sempre retorna true. Se eu mudar -lt para < e -ge a >= recebendo o seguinte erro:
((: 200 = 400 || 200 < 200 || 000 = 400 || 000 < 200 : tentativa de atribuição para não-variável (erro de token é "= 400 || 200 < 200 || 000 = 400 || 000 < 200 ")