I'm trying to use cURL in a script and get it to not show the progress bar.
I've tried the -s
, -silent
, -S
, and -quiet
options, but none of them work.
Here's a typical command I've tried:
curl -s http://google.com > temp.html
I only get the progress bar when pushing it to a file, so curl -s http://google.com
doesn't have a progress bar, but curl -s http://google.com > temp.html
does.
Since curl 7.67.0 (2019-11-06) there is --no-progress-meter
, which does exactly this, and nothing else. From the man page:
--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.
It's available in Ubuntu =20.04 and Debian =11 (Bullseye).
For a bit of history on curl's verbosity options, you can read Daniel Stenberg's blog post.
In curl version 7.22.0 on Ubuntu and 7.24.0 on OSX the solution to not show progress but to show errors is to use both -s
(--silent
) and -S
(--show-error
) like so:
curl -sS http://google.com > temp.html
This works for both redirected output > /some/file
, piped output | less
and outputting directly to the terminal for me.
Update: Since curl 7.67.0 there is a new option --no-progress-meter
which does precisely this and nothing else, see clonejo's answer for more details.
On MacOS 10.13.6 (High Sierra), the '-ss' option works. It is especially useful inside perl, in a command like curl -ss --get {someURL}
, which frankly is a whole lot more simple than any of the LWP or HTTP wrappers, for just getting a website or webpage's contents.
this could help..
curl 'http://example.com' > /dev/null
Not sure why it's doing that. Try -s
with the -o
option to set the output file instead of >
.
I found that with curl 7.18.2 the download progress bar is not hidden with:
curl -s http://google.com > temp.html
but it is with:
curl -ss http://google.com > temp.html
Source: Stackoverflow.com