bash スクリプトでいくつかの API 呼び出しを実行しています。この場合、API 呼び出しが成功するとjson
ファイルが返され、失敗するstderr
と が返されます。stderr
をキャプチャして、失敗したときに解析したいと思います。SOに関する多くの回答を確認した後、これまでのところ、うまくいく組み合わせは見つかりませんでした。
たとえば、次のルールを既に追加しているので、実行すると次のようになります。
myCmd=("aws --profile myProfile --region eu-west-1 ec2 authorize-security-group-ingress --group-id sg-999aa999 --protocol tcp --port 80 --cidr 0.0.0.0/0 ")
${myCmd[@]} > myJson.file
#check if success
if [ "$?" -ne "0" ]
then
# PARSE STDERR
fi
成功チェックは 255 を返し、stderr は以下を返します。したがって、メッセージを解析して、それが一般的なエラーか重複かを確認したいと思います。
AuthorizeSecurityGroupIngress オペレーションの呼び出し時にクライアント エラー (InvalidPermission.Duplicate) が発生しました: 指定されたルール "peer: 0.0.0.0/0, TCP, from port: 80, to port: 80, ALLOW" already exists