curl隐藏Linux/Unix shell脚本上的进度条输出
时间:2020-01-09 14:16:12 来源:igfitidea点击:
我编写了一个shell脚本,并使用curl命令使用curl https://example.com/data/api/$key/hash.html
获取URL输出。
但是,curl命令正在输出我的脚本不需要的完整进度信息。
如何获取curl命令以不显示进度条输出?
如何隐藏curl命令输出?
有没有一种简单的方法可以使Ubuntu Linux桌面上的curls进度输出静音?
说明:cUrl既是应用程序库,又是用于在Web上下载文件或执行请求的命令。
curl命令可在Linux,Windows,macOS,* BSD和类似Unix的系统上使用。
本教程显示如何使用curl命令在Linux或Unix-like系统上隐藏进度条输出。
使用Shell脚本时,curl隐藏进度条输出
隐藏curl进度条的过程是将-s或--silent选项传递给curl命令:
- 打开终端应用
- 输入命令:
curl -s https://www.theitroad.local/>/tmp/output.html
- 使用cat命令验证它:
cat/tmp/output.html
让我们详细查看所有命令和一些示例。
如何获取cURL在Linux上不显示进度栏
考虑以下简单命令:
$ curl https://www.theitroad.local/ > /tmp/output.html
如何使curl命令静音输出进度
运行命令:
$ curl -s https://www.theitroad.local/ > /tmp/output.html
或者
$ curl --silent https://www.theitroad.local/ > /tmp/output.html
您也可以如下使用grep命令或egrep命令:
$ curl -s https://www.kernel.org/ | grep -A 2 '<td id="latest_button">'
了解-s
和-S
选项
-s或--silent选项用作静音或安静模式。
不要显示进度表或错误消息。
使Curl静音。
除非您将其重定向,否则它将仍然输出您要求的数据,甚至可能输出到终端/标准输出。
除了此选项外,还可以使用-S,--show-error禁用进度表,但仍显示错误消息。
以下命令将使进度输出静音,而不会消除实际错误:
$ curl -sS https://www.example.com/foo/bar.cgi > /tmp/out.txt
或者
$ curl -sS https://www.theitroad.local/ > /dev/null
消除了在类似Unix的系统上运行的旧版本curl上的进度条
如果您使用的是curl的旧版本,并且无法更新具有-s选项的curl,请尝试:
$ curl https://www.theitroad.com/ 2>/dev/null > /tmp/nix.html
或者
$ curl https://www.theitroad.com/ 2>/dev/null | grep '<title>'