Как я могу создать скрипт Bash, используя Curl, показывающий индикатор выполнения

#bash #curl #progress-bar

#bash #curl #Индикатор выполнения

Вопрос:

Я использую приведенную ниже команду в скрипте bash. (#!/bin/bash)

 curl -X PUT -u user_name:password "server_address/directory/file_name" --data-binary @"./file"
 

Однако команда не показывает никаких данных о ходе выполнения.
Я попробовал —progress-bar и -# options .
Я попытался указать параметры в variety location в command.
Я попробовал команду в командной строке, но она ничего не показывает.

В чем проблема? Заранее благодарю вас.

Ответ №1:

Вы должны убедиться, что перенаправили вывод в файл вместо стандартного вывода. Например, с -o помощью или -O .

Это потому, что, если вы этого не сделаете, curl ожидает, что вместо этого на терминал может быть отправлен вывод, и отключает индикатор выполнения, чтобы вывод не смешивался с отображением индикатора выполнения на экране, и все будет искажено.

Когда вы выполняете HTTP-передачу (даже загрузку), ожидается, что также будет или может быть возвращено тело ответа.

Комментарии:

1. Спасибо, это работает. Кстати, почему вывод должен быть перенаправлен в файл? какой файл означает файл? Я не понимаю, как перенаправление выходных данных в файл привело к отображению выходных данных в командной строке.