codememo

진행률 표시줄을 표시하지 않으려면 cURL을 어떻게 해야 합니까?

tipmemo 2023. 5. 23. 21:55
반응형

진행률 표시줄을 표시하지 않으려면 cURL을 어떻게 해야 합니까?

스크립트에서 cURL을 사용하여 진행률 표시줄을 표시하지 않도록 하려고 합니다.

해봤어요.-s,-silent,-S,그리고.-quiet하지만 작동하지 않는 옵션이 있습니다.

다음은 제가 시도한 일반적인 명령입니다.

curl -s http://google.com > temp.html

진행률 표시줄은 파일에 푸시할 때만 표시되므로,curl -s http://google.com진행 표시줄이 없지만,curl -s http://google.com > temp.html한다.

curl -s http://google.com > temp.html

Ubuntu 9.10의 컬 버전 7.19.5에서 작동합니다(진행 표시줄 없음).그러나 어떤 이유로 플랫폼에서 작동하지 않는 경우 항상 stderr을 /dev/null로 리디렉션할 수 있습니다.

curl  http://google.com 2>/dev/null > temp.html

Ubuntu의 컬 버전 7.22.0과 OSX의 7.24.0에서 진행률을 표시하지 않고 오류를 표시하는 솔루션은 둘 다 사용하는 것입니다.-s(--silent) 및-S(--show-error) 이와 같은 경우:

curl -sS http://google.com > temp.html

이는 리디렉션된 출력 모두에 대해 작동합니다.> /some/file파이프 출력| less단말기로 직접 출력할 수 있습니다.

업데이트: curl 7.67.0 이후 새로운 옵션이 있습니다.--no-progress-meter정확하게는 이것을 하고 다른 것은 아무것도 하지 않습니다. 자세한 내용은 clonejo의 답변을 참조하십시오.

curl 7.18.2에서는 다운로드 진행률 표시줄이 다음과 같이 숨겨지지 않습니다.

curl -s http://google.com > temp.html

하지만 그것은 다음과 같습니다.

curl -ss http://google.com > temp.html

curl 7.67.0 (2019-11-06) 이후, 정확히 이것을 수행하는 가 있으며, 다른 것은 없습니다.맨 페이지에서:

   --no-progress-meter
         Option to switch off the progress meter output without muting or
         otherwise affecting warning and informational messages like  -s,
         --silent does.

         Note  that  this  is the negated option name documented. You can
         thus use --progress-meter to enable the progress meter again.

         See also -v, --verbose and -s, --silent. Added in 7.67.0.

Ubuntu ≥20.04 및 Debian ≥11 (Bulseye)로 제공됩니다.

컬의 장황한 옵션에 대한 약간의 역사를 보려면 Daniel Stenberg의 블로그 게시물을 읽을 수 있습니다.

왜 그러는지 모르겠어요.해라-s와 함께-o대신 출력 파일을 설정하는 옵션>.

이것이 도움이 될 수 있습니다.

curl 'http://example.com' > /dev/null

macOS 10.13.6(High Sierra)에서는-sS옵션이 작동합니다.특히 Perl 내부에서 다음과 같은 명령어로 유용합니다.curl -sS --get {someURL}솔직히 이는 웹사이트나 웹페이지의 콘텐츠를 얻기 위해 LWP나 HTTP 래퍼보다 훨씬 더 간단합니다.

언급URL : https://stackoverflow.com/questions/7373752/how-do-i-get-curl-to-not-show-the-progress-bar

반응형