次のコマンドを実行して、新しいファイルをロードする前にgcsバケットからファイルを削除しています。バケツでファイルがない場合はファイルが存在しない場合、gsutil lsコマンドとrmコマンドのエラーを処理します。
gsutil -m rm gs://mybucket/subbucket/*
は、それが「CommandExceptionを:1つのまたは複数のURLが何のオブジェクトに一致しない」がスローされます。
エラーがスローされずにファイルが存在する場合、ファイルを削除したいと思います。
gsutil ls gs://mybucket/subbucket/*
と同じエラーがどのように私は明示的に例外を処理することなく、これを書き換えることができますがありますか?または、これらの例外をバッチスクリプトで最もうまく処理する方法は?これは、標準エラー出力を抑制すること(それが/dev/null
に向けています)、さらには失敗に成功エラーコードを戻す効果がある
gsutil -m ls gs://mybucket/foo/* 2> /dev/null || true
:
gsutil -m rm gs://mybucket/foo/* 2> /dev/null || true
または:
感謝。私はWindowsのバッチスクリプトでそれを次のように変更しました。 'gsutil -m rm gs:// mybucket/foo/* 2> nul ||真 – user1311888