Le moyen le plus simple est de stocker la réponse et de la comparer:
$ response=$(curl -X POST [email protected] server-URL);
$ if [ "Upload successful" == "${response}" ]; then … fi;
Je n'ai pas testé ça. La syntaxe est peut-être éteinte, mais c'est l'idée. Je suis sûr qu'il existe des moyens plus sophistiqués de le faire, tels que la vérification du code de sortie de curl ou quelque chose.
mise à jour
curl
renvoie pas mal de codes de sortie. Je suppose qu'un message ayant échoué pourrait entraîner une erreur.Vous pourriez 55 Failed sending network data.
donc probablement vous assurer que le code de sortie était zéro en comparant à $?
( Expands to the exit status of the most recently executed foreground pipeline.
):
$ curl -X POST [email protected] server-URL;
$ if [ 0 -eq $? ]; then … fi;
Ou si votre commande est relativement courte et que vous voulez faire quelque chose en cas d'échec, vous pouvez vous fier au code de sortie comme condition dans une instruction conditionnelle:
$ if curl --fail -X POST [email protected] server-URL; then
# …(success)
else
# …(failure)
fi;
Je pense que ce format est souvent préféré , mais personnellement je le trouve moins lisible.