Найпростіший спосіб - збереження відповіді та порівняння:
$ response=$(curl -X POST -d@myfile.txt server-URL);
$ if [ "Upload successful" == "${response}" ]; then … fi;
Я цього не перевіряв. Синтаксис може бути відключений, але це ідея. Я впевнений, що є більш складні способи зробити це, наприклад, перевірити вихідний код curl або щось подібне.
оновлення
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;
Я думаю, що цей формат часто вважається кращим , але особисто я вважаю його менш читабельним.