Use os códigos de status HTTP do curl

Você pode fazer curl retornar códigos de status HTTP reais na saída padrão, desde que você use o

-w <format> ou --write-out <format>

opção de linha de comando, usando o formato de %{http_code}

Isso fornece uma maneira fácil de pesquisar um endpoint de API usando algo tão simples como bash sem ter que procurar os significados do código de saída do curl:

#!/bin/bash

while true
do
STATUS
=$(curl -s -o /dev/null -w '%{http_code}' http://example.com/poll-me)
if [ $STATUS -eq 200 ]; then
echo
"Got 200! All done!"
break
else
echo
"Got $STATUS :( Not done yet..."
fi
sleep
10
done

Você pode aprender mais formatos de saída consultando a página do manual curl e pesquisando write-outno conteúdo da página.