在使用静音标志时,如何使卷曲请求的HEAD静音?

Tre*_*key 6 bash shell command-line curl pipe

当我运行curl命令并将数据定向到文件时,我按预期返回网站的内容.

$ curl "www.site.com" > file.txt
$ head file.txt
Top of site
...
Run Code Online (Sandbox Code Playgroud)

但是,此命令显示进度条,我不想要:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  328k  100  328k    0     0   467k      0 --:--:-- --:--:-- --:--:--  467k
Run Code Online (Sandbox Code Playgroud)

我可以通过传递-silent标志来使进度条静音,但是我的文件输出将附加头部内容:

$ curl -silient "www.site.com" > file.txt
$ head file.txt
HTTP/1.1 200 OK
Content-Security-Policy: default-src 'none'
X-XSS-Protection: 1; mode=block
X-Frame-Options: deny
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
ETag: "29647904ffa6a6b36cf3483b325138cab9447a13"
Content-Type: text/plain; charset=utf-8
Cache-Control: max-age=300
Content-Length: 335978  
Run Code Online (Sandbox Code Playgroud)

如何使进度条静音并避免将头部内容发送到文件?

根据提供的标志,似乎我只能得到一个或另一个.

这就是我现在正在做的解决问题的方法,但我不确定将进度条和可能的任何错误传递到/ dev/null是否是个好主意.

curl "www.site.com" > file.txt 2> /dev/null
Run Code Online (Sandbox Code Playgroud)

我不认为这是一个好主意的原因是因为它可能会干扰我关心的实际错误.silent如果这是它的目的,我想利用旗帜.

我也尝试使用-o输出到文件的所有相同的命令,但没有占上风.

Joe*_*Joe 10

你需要使用--silent两个破折号.您的"选项" -silient(原文如此!)使-s,-i,-l,-e,-n-t选项.

-i 是包含HTTP标头的内容.


Nar*_*asK 8

尝试这个:

curl --silent "www.site.com" > file.txt
Run Code Online (Sandbox Code Playgroud)

如果需要,可以使用简写形式-s