シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。
Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。
Q&A
1回答
2880閲覧
総合スコア29
0グッド
0クリップ
投稿2018/11/30 05:38
0
s3にログをsyncするのが成功したら、そのログを削除するという意味で以下のスクリプトを書きました。
aws s3 sync ${ログディレクトリ}/ ${S3ディレクトリ} if [ $? -eq 0 ]; then 削除処理 fi
しかし、わざとs3のディレクトリが間違った状態で実行した時にも 削除処理が行われてしまいます。 もちろんS3にはsyncできていません。
if [ $? -eq 0 ]; then =「前の処理が成功したら」 という認識は間違っているのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
存在しないバケットを指定すると1が返ってきたので動作上問題ないと思います。
1
$ aws s3 sync ./ s3://存在しないバケット fatal error: An error occurred (NoSuchBucket) when calling the ListObjectsV2 operation: The specified bucket does not exist $ echo $? 1
バケットは以下の存在しないディレクトリを指定すると新しいディレクトリが作成されてその下にsyncされます。 ※実際にはS3バケット配下ではそもそもディレクトリという概念はなく、実際にはオブジェクトです
投稿2018/11/30 09:49
総合スコア6621
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
if [ $? -eq 0 ]; then について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。