Avendo problemi di confronto 2 codici di risposta in guscio. L'esecuzione di curl e necessario verificare se la risposta è tra i 200 e i 400. Inoltre, c'è una possibilità di risposta da "000" quando un server è giù.
#!/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 : errore di sintassi nell'espressione (errore token "400 || 200 -lt 200 || 000 -ge 400 || 000 -lt 200 ")
Se cambio le staffe al [[...]] restituisce sempre true. Se io cambio -lt < e -ge a >= ottenendo il seguente errore:
((: 200 = 400 || 200 < 200 || 000 = 400 || 000 < 200 : tentativo di cessione per non variabile (errore token è "= 400 || 200 < 200 || 000 = 400 || 000 < 200 ")