En basit yol, yanıtı saklamak ve karşılaştırmaktır:
$ response=$(curl -X POST -d@myfile.txt server-URL);
$ if [ "Upload successful" == "${response}" ]; then … fi;
Bunu test etmedim. Sözdizimi kapalı olabilir, ancak fikir bu. Kıvrımın çıkış kodunu veya benzeri şeyleri kontrol etmenin daha karmaşık yolları olduğuna eminim.
güncelleştirme
curl
epeyce çıkış kodları döndürür. Başarısız bir gönderiyle sonuçlanabileceğini tahmin ediyorum. 55 Failed sending network data.
Dolayısıyla, $?
( Expands to the exit status of the most recently executed foreground pipeline.
) ile karşılaştırarak çıkış kodunun sıfır olduğundan emin olabilirsiniz :
$ curl -X POST -d@myfile.txt server-URL;
$ if [ 0 -eq $? ]; then … fi;
Veya komutunuz nispeten kısaysa ve başarısız olduğunda bir şey yapmak istiyorsanız, koşullu ifadedeki koşul olarak çıkış koduna güvenebilirsiniz:
$ if curl --fail -X POST -d@myfile.txt server-URL; then
# …(success)
else
# …(failure)
fi;
Bu formatın sıklıkla tercih edildiğini düşünüyorum ama şahsen daha az okunabilir buluyorum.