Cách đơn giản nhất là lưu trữ phản hồi và so sánh nó:
$ response=$(curl -X POST -d@myfile.txt server-URL);
$ if [ "Upload successful" == "${response}" ]; then … fi;
Tôi đã không kiểm tra điều đó. Cú pháp có thể bị tắt, nhưng đó là ý tưởng. Tôi chắc chắn có nhiều cách tinh vi hơn để làm điều đó như kiểm tra mã thoát của curl hoặc một cái gì đó.
cập nhật
curl
trả về khá nhiều mã thoát. Tôi đoán rằng một bài viết thất bại có thể dẫn đến 55 Failed sending network data.
Vì vậy, bạn có thể chỉ cần đảm bảo mã thoát là 0 bằng cách so sánh với $?
( 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;
Hoặc nếu lệnh của bạn tương đối ngắn và bạn muốn làm gì đó khi thất bại, bạn có thể dựa vào mã thoát như điều kiện trong câu lệnh có điều kiện:
$ if curl --fail -X POST -d@myfile.txt server-URL; then
# …(success)
else
# …(failure)
fi;
Tôi nghĩ định dạng này thường được ưa thích , nhưng cá nhân tôi thấy nó ít đọc hơn.