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 に答える