我有一个使用curl
将文件上传到WebDav服务器的脚本。
curl --anyauth --user user:password file http://webdav-server/destination/
我想要同时做两件事:
据我所知,即使在401(未授权)或407(冲突)情况下,curl也会返回0
的退出代码。 --fail
选项可用于更改此行为,但它会抑制stdout。
最好的解决方法是什么? tee
和grep
?
答案 0 :(得分:1)
curl
将其输出写入stderr(2)
,错误流而不是stdout(1)
。使用2>&1
curl --fail --anyauth --user user:password file http://webdav-server/destination/ 2>&1 > logFile
retval=$?
if [ $retval -eq 0 ]; then
echo "curl command succeeded and the log present in logFile"
fi