Vous rencontrez des problèmes pour comparer 2 codes de réponse dans un shell. L'exécution de roulage et de la nécessité de valider si la réponse est entre 200 et 400. Aussi, il ya une chance de réponse à "000" lorsqu'un serveur est down.
#!/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 : erreur de syntaxe dans l'expression (jeton d'erreur est "400 || 200 -lt 200 || 000 -ge 400 || 000 -lt 200 ")
Si je change les supports à l' [[...]] il retourne toujours true. Si je change d'-lt pour < et -ge à >= à obtenir l'erreur suivante:
((: 200 = 400 || 200 < 200 || 000 = 400 || 000 < 200 : tentative de cession à des non-variable (jeton d'erreur est "= 400 || 200 < 200 || 000 = 400 || 000 < 200 ")