我正在使用curl格式从脚本运行curl。问题是,即使它失败了,我在输出中也有总时间。
我真的需要知道它是否失败。 编辑:失败是指它没有下载文件(例如服务器上缺少文件)。
这是剧本中的一行:
curl -f -H 'Cache-Control: no-cache' -w "@curl-format.txt" -o /dev/null -s "$IP_PORT/$FILE_NAME"
以下是卷曲格式:
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n
这是请求不在服务器上的文件的输出:
time_namelookup: 0.000
time_connect: 0.198
time_appconnect: 0.000
time_pretransfer: 0.199
time_redirect: 0.000
time_starttransfer: 0.409
----------
time_total: 0.409
答案 0 :(得分:0)
$?
包含最后一个命令的退出代码(0 =成功,> 0 =错误代码)
答案 1 :(得分:0)
正确的方法是使用-D header.out。 如果它在带循环的脚本中,可以使用-D header $ counter.out:
curl -D header$NUM_TRIES.out -H 'Cache-Control: no-cache' -w "@curl-format.txt" -o /dev/null -s "$IP_PORT/$FILE_NAME" &
然后计算成功:
more header* | grep 200 -c
失败将是NUM_TRIES - 上述值