在bash中获取cURL响应

时间:2011-10-06 18:16:44

标签: bash curl

我有一个简单的bash脚本,可以将文件上传到FTP。我想知道如何从curl得到我能记录的回复(错误或成功)?

eval curl -T "${xmlFolder}"/"${xmlFile}" "${mediaFTP}"

提前致谢

2 个答案:

答案 0 :(得分:4)

鉴于提供的命令,这应该足够了:

curl -T "$xmlFolder/$xmlFile" "$mediaFTP" || 
  printf '%s\n' $?

或者,如果要丢弃错误消息:

curl -T "$xmlFolder/$xmlFile" "$mediaFTP" >/dev/null || 
  printf '%s\n' $?

答案 1 :(得分:3)

$? bash变量表示上一个命令的成功(val 0)/ failure(val non 0)。所以你可以这样做:

eval curl -T "${xmlFolder}"/"${xmlFile}" "${mediaFTP}"
err=$?
if [ $err -ne 0 ]
then
    echo "Failed with error code $err"
    exit
fi