Ejemplo: intentar cargar un archivo no existente - curl -d @no-real-file http://google.com | echo $?
- devuelve 0.
¿Cómo puedo hacer que el rizo falle en los errores de entrada?
Ejemplo: intentar cargar un archivo no existente - curl -d @no-real-file http://google.com | echo $?
- devuelve 0.
¿Cómo puedo hacer que el rizo falle en los errores de entrada?
Respuestas:
Puedes usar curl -f
-f, --fail (HTTP) Fail silently (no output at all) on server errors.
This is mostly done to better enable scripts etc to better deal with failed attempts.
In normal cases when a HTTP server fails to deliver a document, it returns
an HTML document stating so (which often also describes why and more). This flag
will prevent curl from outputting that and return error 22.
This method is not fail-safe and there are occasions where non-successful response
codes will slip through, especially when authentication is involved (response codes
401 and 407).
Si -f
se usa, curl
regresará 22
para el siguiente comando
curl -f -d @no-real-file http://google.com
Puede que esto no sea exactamente lo que solicitó, pero simplemente puede hacer una comprobación rápida para ver si el archivo existe de antemano:
[ -f $somefile ] && curl -d $somefile blah blah