CURL'nin ilerleme çubuğunu göstermemesini nasıl sağlayabilirim?


562

Bir komut cURL kullanmak ve onu almak için çalışıyorum değil ilerleme çubuğu gösteriyor.

Denedim -s, -silent, -S, ve -quietseçenekler, ama bunların hiçbiri çalışmıyor.

İşte denedim tipik bir komut:

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

İlerleme çubuğunu yalnızca bir dosyaya iterken alıyorum, bu yüzden curl -s http://google.combir ilerleme çubuğu yok, ama curl -s http://google.com > temp.htmlvar.


12
curl -s http://google.comburası benim için sessiz. Hangi curl ve Linux sürümünü kullanıyorsunuz?
Adrian Petrescu

-s benim için 7.21.0 (i686-pc-linux-gnu) libcurl / 7.21.0 OpenSSL / 0.9.8o zlib / 1.2.3.4 libidn / 1.18 ve curl 7.19.5 (i386-apple-darwin9) için iyi çalışıyor. 7.0) libcurl / 7.19.5 zlib / 1.2.3, kıvrımınızı yükseltmeniz gerekiyor gibi görünüyor
derevo

Fedora 15 ve Mac OSX 10.7.1'de denedim. Ayrıca, ilerleme çubuğunu yalnızca bir dosyaya iterken alıyorum, bu yüzden curl -s google.com'un bir ilerleme çubuğu yok, ancak curl -s google.com > temp.html var.
adammenges

1
Yüklü sürümü kullanmak curlve libcurlkomutu kullanmak isteyenler içindpkg -l | grep curl
Dimitry K

1
Böyle bir durumda, koşmak man curlkıvrılma manuel sayfasını göstermek için, sonra vurmak /progressya /hide progressya stopya istediğini elde etmek sorguyu arama için ne olursa olsun. Sonra chmac'ın önerdiği gibi bir cevaba ulaşabilirsiniz.
kenju

Yanıtlar:


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

Ubuntu 9.10 (ilerleme çubuğu yok) üzerinde kıvrılma 7.19.5 sürümü için çalışır. Ancak, herhangi bir nedenle platformunuzda çalışmazsa, stderr'i her zaman / dev / null'a yönlendirebilirsiniz:

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

31
Bunu düşünmeliydim. Yine de hata mesajlarını da gizleyecektir.
Tom Zych

1
Benim durumumda, / dev / null komutunu kullanmak uygun.
adammenges

Güzel - bu harika çalışıyor. CentOS 6.3 üzerinde sorun vardı, ama diğer dağıtımları - tuhaf, ama basit kolay geçici çözüm - thx vardı!
Ross

Bu arada, 2>/dev/nullbilmiyorsanız aşağıdaki bağlantıya bakın : stackoverflow.com/questions/10508843/what-is-dev-null-21
kenju

Bir ubuntu 14 ana bilgisayarına kıvrım kurulumu için kılavuz sayfasına göre, -skıvrımı "ilerleme ölçeri veya hata mesajlarını gösterme" yapmaz . (Bunun gerçekten doğru olup olmadığını görmek için kaynak kodunu test etmeyi veya okumayı denemedim.)
David Winiecki

535

OSX kıvrılma Ubuntu sürümden 7.22.0 ve 7.24.0 çözüm olarak ilerlemeyi göstermiyor ancak hataları gösterir hem kullanmaktır -s( --silent) ve -S( --show-errorşöyle):

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

Bu benim için yeniden yönlendirilmiş çıkış > /some/file, borulu çıkış | lessve doğrudan terminale çıkış için çalışır .


3
Benim 7.35 -sS kullanarak ilerleme ölçer ortadan kaldırır, ancak aynı zamanda normalde stdout için yazılan bilgileri ortadan kaldırır. Sadece ilerleme ölçeri yenmenin bir yolu yok gibi görünüyor!
Jack

48

Kıvrılma 7.18.2 ile indirme ilerleme çubuğunun gizli olmadığını buldum:

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

ama şununla:

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

6

Bunu neden yaptığından emin değilim. Deneyin -sile -oyerine çıktı dosyasını ayarlamak için seçenek >.


0

MacOS 10.13.6'da (High Sierra), '-ss' seçeneği çalışır. Sadece curl -ss --get {someURL}bir web sitesi veya web sayfasının içeriğini almak için LWP veya HTTP sarmalayıcılarından herhangi birinden çok daha basit olan bir komutta perl içinde özellikle yararlıdır .


-1

Bir süre önce, yüklü jdk'in belirli sürümlerini aramak için hurdaya ayırmak için basit bir komut dosyası yazdı:

#!/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"

Bu şekilde kullanırsınız: ./script.sh https://registry.hub.docker.com/v2/repositories/library/tomcat/tags/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.