有没有办法告诉 curl 将错误输出到 stderr,并将其他所有内容输出到 stdout?
原因是我每天晚上从命令行(实际上是一个 cronjob)使用 curl 将文件上传到 FTP 站点。不幸的是,因为 curl 在 stderr 上输出状态信息,所以当实际上没有出现任何错误时,我会收到一封有关错误的电子邮件。 (我将 stdout 重定向到日志文件,但保持 stderr 不变,以便 cron 将其通过电子邮件发送给我(如果有任何输出。)
有一些选项可以让 curl 静音,或者将所有内容输出到 stdout,但是这两种选择都可以防止错误出现在 stderr 上——这意味着当我真正想知道错误时,我不会收到电子邮件。
那么有没有办法让 curl 只在 stderr 上输出错误,而在 stdout 上保持正常输出完好无损?
最佳答案
尝试这个:
# No error messages because it succeeds.
curl http://www.shikadi.net/ --fail --silent --show-error
# This prints an error message to stderr
curl http://i.like.you.def.maybe/ --fail --silent --show-error
感谢 Russell Davis 在此页面上的回答,
man curl
,并反复试验。出于好奇,这里是
wget
问题版本:https://superuser.com/questions/420120/wget-is-silent-but-it-displays-error-messages
关于curl - 使 curl 将错误发送到 stderr 并将其他所有内容发送到 stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935006/