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


562

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

나는 시도했다 -s, -silent, -S, 및 -quiet옵션,하지만 그들 중 누구도 작동하지 않습니다.

내가 시도한 일반적인 명령은 다음과 같습니다.

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

진행률 표시 줄을 파일로 푸시 할 때만 진행률 표시 줄이 표시되므로 curl -s http://google.com진행률 표시 줄이 없지만 진행률 표시 줄 curl -s http://google.com > temp.html이 있습니다.


12
curl -s http://google.com여기 저를 위해 침묵합니다. 어떤 버전의 curl 및 Linux를 사용하고 있습니까?
Adrian Petrescu

-s curl curl 7.21.0 (i686-pc-linux-gnu) libcurl / 7.21.0 OpenSSL / 0.9.8o zlib / 1.2.3.4 libidn / 1.18 및 curl 7.19.5 (i386-apple-darwin9)에서 제대로 작동합니다. 7.0) libcurl / 7.19.5 zlib / 1.2.3은 컬 업그레이드가 필요한 것 같습니다
derevo

Fedora 15 및 Mac OSX 10.7.1에서 시도했습니다. 또한 파일로 푸시 할 때 진행률 표시 줄만 얻으므로 curl -s google.com 에는 진행률 표시 줄이 없지만 curl -s google.com > temp.html에는 진행 표시 줄 이 있습니다.
adammenges

1
설치 버전을 파악하고자하는 사람들을위한 curllibcurl사용 명령을dpkg -l | grep curl
드미트리 K

1
이러한 경우에, 실행 man curl컬의 매뉴얼 페이지를 보여주는, 다음 공격 /progress또는 /hide progress또는 stop또는 당신이 원하는 것을 얻기 위해 쿼리를 검색하기위한 뭐든간에. 그런 다음 chmac 제안과 같은 답변에 도달 할 수 있습니다.
kenju

답변:


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

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

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

31
나는 그것을 생각해야했다. 그래도 오류 메시지를 숨길 것입니다.
Tom Zych

1
제 경우에는 / dev / null을 사용해도됩니다.
adammenges

니스-이것은 잘 작동합니다. 나는 centOS 6.3에 문제가 있었지만 다른 배포판에는 문제가 없었습니다-기괴하지만 간단한 간단한 해결책-thx!
Ross

2>/dev/null그건 그렇고, 모르는 경우 에 대한 아래 링크를 참조하십시오 : stackoverflow.com/questions/10508843/what-is-dev-null-21
kenju

Ubuntu 14 호스트에 curl을 설치하기위한 매뉴얼 페이지에 따르면 -scurl이 "진행률 표시기 또는 오류 메시지 표시"가되지 않습니다 . (실제로 사실인지 확인하기 위해 소스 코드를 테스트하거나 읽지 않았습니다.)
David Winiecki

535

Ubuntu의 curl 버전 7.22.0 및 OSX의 7.24.0에서 진행률표시 하지 않지만 오류표시 하는 솔루션 은 다음과 같이 -s( --silent) 및 -S( --show-error)를 모두 사용하는 것입니다.

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

이것은 리디렉션 출력 > /some/file, 파이프 출력 | less및 터미널로 직접 출력하는 데 모두 효과적입니다 .


3
내 7.35의 경우 -sS를 사용하면 진행 미터가 제거되지만 ALSO는 일반적으로 stdout에 기록 된 정보를 제거합니다. 요청에 사용해야하는 (다른) 파일 ID 대신 디스크에 기록 된 파일 이름이 포함되어 있기 때문에 필요합니다. 진행률 측정기만으로 이길 수있는 방법은 없습니다!
Jack

48

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

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

그러나 그것은 :

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

6

왜 그렇게하는지 모르겠습니다. 시도 -s-o대신 출력 파일을 설정하는 옵션 >.


0

MacOS 10.13.6 (High Sierra)에서는 '-ss'옵션이 작동합니다. 이 같은 명령에 특히 유용한 내부의 펄입니다 curl -ss --get {someURL}솔직히 그냥 웹 사이트 또는 웹 페이지의 내용을 얻기 위해, 훨씬 더 간단 LWP 또는 HTTP 래퍼의보다.


-1

얼마 전에 설치된 jdk의 특정 버전을 검색하기 위해 스크랩 핑을 수행하는 간단한 스크립트를 작성했습니다.

#!/bin/bash
REPO_TAG_URL=$1

SEARCH=`curl -s $REPO_TAG_URL`
NEXT_PAGE=`echo $SEARCH | jq -r .next`

echo $SEARCH | jq '.results[].name'

while [[ $NEXT_PAGE != 'null' ]]; do
    SEARCH=`curl -s $NEXT_PAGE`
    NEXT_PAGE=`echo $SEARCH | jq -r .next`
    echo $SEARCH | jq '.results[].name'
done

echo "Thats all folks"

당신은 이것을 다음과 같이 사용합니다 : ./script.sh https://registry.hub.docker.com/v2/repositories/library/tomcat/tags/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.