我正在尝试将curl的输出重定向到文件。 根据卷曲的手册,我必须追加:
--output <file.txt>
但是,即使我这样做,输出也不会被重定向。 有人可以指导,我做错了什么?我正在尝试执行以下请求:
$ curl -v -H "Content-Type: application/json" -d '{"json":"data"}' --user email@host.com:password http://host.com/inventory/ --output haha.txt
我在终端/ shell上获取输出,但它只是无法访问文件。
答案 0 :(得分:1)
--output
(或-o
)将下载的内容写入给定文件(而不是将其写入stdout)。其余的cURL输出(进度表,错误消息,详细模式等)仍写入stderr,显示在终端中。 https://en.wikipedia.org/wiki/Standard_streams
您可以使用cURL的--stderr
选项将该输出重定向到文件或您的redirection operators {/ p>}。
从手册页:
--stderr Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout. If this option is used several times, the last one will be used. See also -v, --verbose and -s, --silent.
使用shell的重定向操作符将输出流在终端上打印时重定向到文件:
curl -v https://duckduckgo.com > filename 2>&1