Eu estava sempre assumindo que, quando o curl recebia uma resposta HTTP 500, estava retornando um código de saída que significava falha (! = 0), mas esse parece não ser o caso.
Existe uma maneira de fazer com que o cURL falhe com um exitCode diferente de 0 se o código de status HTTP não for 200? Eu sei que posso usar, -w "%{http_code}"
mas isso o coloca em STDOUT, não como o código de saída (além disso, também estou interessado em capturar a saída, que não quero redirecionar para um arquivo, mas para a tela).