0

我正在使用 openphoto 从 bash 脚本中上传照片。有时上传失败,但所有命令都正确执行。json 结果提供:

{
"message" : "oauth_problem=signature_invalid&debug_sbs=POST&http...,
"code" : 403,
"result" : null
}

上传失败,因为正在上传的照片位于远程服务器上,并且在上传到 openphoto 之前偶尔无法正确缓存文件。通常只需要重复该命令即可正确执行。

我的 bash 循环如下所示:

while read i; 
do ./openphoto -p -X POST -h HOSTNAME -e /photo/upload.json \
-F"photo=@$i" \
-F"tags=$(echo "$i"|cut -d'/' -f 7-|sed 's/\/[^/]*[jJ][pP][gG]//;s/\//,/g')"; 
done < files;

如果输出包含 403 的“代码”,我如何让 bash 重复该命令?

4

1 回答 1

0

如果输出包含 403 的“代码”,我如何让 bash 重复该命令?

您可以在之前添加一行done

(( $? == 403 )) && command_to_execute

或者,如果您想尝试该命令直到它成功,您可以说:

until (( $? == 0 )); do command_to_execute; done
于 2013-10-21T13:11:40.477 回答