如何让 cURL 不显示进度条?
- 2024-10-23 08:47:00
- admin 原创
- 75
问题描述:
我正在尝试在脚本中使用 cURL 并让它不显示进度条。
我尝试过-s
、、和选项,-silent
但都不起作用。-S
`-quiet`
这是我尝试过的典型命令:
curl -s http://google.com > temp.html
我只在将其推送到文件时才会获得进度条,因此curl -s http://google.com
没有进度条,但是curl -s http://google.com > temp.html
有。
解决方案 1:
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
解决方案 2:
在 Ubuntu 上的 curl 版本 7.22.0 和 OSX 上的 curl 版本 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 的答案。
解决方案 3:
从 curl 7.67.0 (2019-11-06) 开始,有了--no-progress-meter
,它只做这个,没有其他作用。从手册页中:
--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(Bullseye)。
要了解 curl 详细程度选项的一些历史,你可以阅读Daniel Stenberg 的博客文章。
解决方案 4:
我发现使用 curl 7.18.2 时下载进度条不会被隐藏:
curl -s http://google.com > temp.html
但它是:
curl -ss http://google.com > temp.html
解决方案 5:
不确定为什么会这样。尝试-s
使用-o
选项来设置输出文件,而不是>
。
解决方案 6:
在 macOS 10.13.6 (High Sierra) 上,该-sS
选项有效。它在 Perl 中特别有用,在类似这样的命令中curl -sS --get {someURL}
,坦率地说,它比任何 LWP 或 HTTP 包装器都简单得多,仅用于获取网站或网页的内容。
解决方案 7:
这可能会有帮助..
curl 'http://example.com' > /dev/null
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件