सबसे आसान तरीका प्रतिक्रिया को संग्रहीत करना और उसकी तुलना करना है:
$ response=$(curl -X POST -d@myfile.txt server-URL);
$ if [ "Upload successful" == "${response}" ]; then … fi;
मैंने वह परीक्षण नहीं किया है। वाक्यविन्यास बंद हो सकता है, लेकिन यह विचार है। मुझे यकीन है कि इसे करने के और अधिक परिष्कृत तरीके हैं जैसे कर्ल के निकास कोड या कुछ और की जाँच करना।
अद्यतन करें
curl
कुछ निकास कोड लौटाता है। मैं अनुमान लगा रहा हूं कि एक विफल पोस्ट का परिणाम हो सकता है 55 Failed sending network data.
इसलिए आप शायद यह सुनिश्चित कर सकें कि $?
( Expands to the exit status of the most recently executed foreground pipeline.
) की तुलना में बाहर निकलने का कोड शून्य था।
$ curl -X POST -d@myfile.txt server-URL;
$ if [ 0 -eq $? ]; then … fi;
या यदि आपकी कमांड अपेक्षाकृत कम है और आप कुछ करना चाहते हैं जब यह विफल हो जाता है, तो आप बाहर निकलने के कोड पर भरोसा कर सकते हैं जैसे सशर्त स्थिति में:
$ if curl --fail -X POST -d@myfile.txt server-URL; then
# …(success)
else
# …(failure)
fi;
मुझे लगता है कि यह प्रारूप अक्सर पसंद किया जाता है , लेकिन व्यक्तिगत रूप से मुझे यह कम पठनीय लगता है।