Am einfachsten ist es, die Antwort zu speichern und zu vergleichen:
$ response=$(curl -X POST [email protected] server-URL);
$ if [ "Upload successful" == "${response}" ]; then … fi;
Das habe ich nicht getestet. Die Syntax ist möglicherweise nicht korrekt, aber das ist die Idee. Ich bin mir sicher, dass es ausgefeiltere Methoden gibt, wie das Überprüfen des Exit-Codes von curl oder so.
aktualisieren
curl
gibt einige Exit-Codes zurück. Ich vermute, ein fehlgeschlagener Beitrag könnte dazu führen 55 Failed sending network data.
, dass der Exit-Code mit $?
( Expands to the exit status of the most recently executed foreground pipeline.
) auf Null gesetzt wird :
$ curl -X POST [email protected] server-URL;
$ if [ 0 -eq $? ]; then … fi;
Oder wenn Ihr Befehl relativ kurz ist und Sie etwas tun möchten, wenn er fehlschlägt, können Sie sich auf den Exit-Code als Bedingung in einer bedingten Anweisung verlassen:
$ if curl --fail -X POST [email protected] server-URL; then
# …(success)
else
# …(failure)
fi;
Ich denke, dieses Format wird oft bevorzugt , aber ich persönlich finde es weniger lesbar.