我正在尝试检查某个文件在特定位置是否可用,如果文件不存在,则它必须向电子邮件列表发送电子邮件。问题是,在检查文件是否存在之前,需要从 URL(共享点)下载该文件。
如果 URL 处没有文件,则 cURL 命令将下载其中包含“404 NOT FOUND”内容的文件。如果源处没有文件,我不希望 cURL 命令下载任何文件。我怎样才能做到这一点?
cd $file_path
curl -k --ntlm -u $USER_GROUP:$PASS -O http://sharepoint.com/sites/dummy/file_list.txt
这是我正在使用的下载命令。任何帮助,将不胜感激。谢谢。
答案1
添加-f
开关应该可以达到你想要的效果。
来自curl
手册:
-f/--fail (HTTP) 在服务器出现错误时静默失败(根本没有输出)。这样做主要是为了更好地启用脚本等来更好地处理失败的尝试。在正常情况下,当 HTTP 服务器无法传送文档时,它会返回一个 HTML 文档来说明情况(通常还描述了原因及更多信息)。该标志将阻止curl 输出该内容并返回错误22。
此方法不是自动防故障的,有时会漏掉不成功的响应代码,特别是在涉及身份验证时(响应代码 401 和 407)。