Programming

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

procodes 2020. 2. 11. 22:45
반응형

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

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

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

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

이것은 리디렉션 출력 > /some/file, 파이프 출력 | less및 터미널로 직접 출력하는 경우 모두 작동합니다 .


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

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

그러나 그것은 :

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

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


얼마 전에 설치된 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/

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



반응형