#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. Спасибо, это работает. Кстати, почему вывод должен быть перенаправлен в файл? какой файл означает файл? Я не понимаю, как перенаправление выходных данных в файл привело к отображению выходных данных в командной строке.