0

この単純なjarコマンドを bash で実行しています。

jar cvfm control.jar Manifest <class list>

このコマンドの実行における失敗の検出を自動化するにはどうすればよいですか? 失敗とは、次のような理由でコマンドの実行に失敗したことを意味します。

  • のエラーManifest
  • jarコマンド自体の不適切な使用、
  • ClassNotFoundErrorなどのランダムなエラー

念のために言っておきますが、正しいクラスのセットがアーカイブされているかどうかは知りません。だから失敗とは思わない。

現在、詳細オプションを使用して、すべてがうまくいったかどうかを調べています。しかし、これは時間がかかると思います。jarコマンドが一連のクラスファイルのアーカイブに成功したかどうかを知りたいだけです。これをbashで行う方法はありますか?


私が見つけたこの問題に関する最も近い他のリソースはこれでした:jarファイルのアーカイブが失敗した場合にエラーを検出する方法は? . しかし、私はバッチファイルについての手がかりがなく、bash シェルでこれを行うことに興味があります。

4

1 に答える 1

2

これは、コマンドが成功したかどうかを確認する最も基本的な方法です。

if jar cvfm control.jar Manifest <class list> ; then
    echo "Success"
else
    echo "Oops!"
fi

失敗のみを検出したい場合は、テストを逆にします。

if ! jar cvfm control.jar Manifest <class list> ; then
    echo "Oops!"
fi

または、結果を明示的にテストします。

jar cvfm control.jar Manifest <class list>
if (( $? )) ; then
    echo "Oops!"
fi
于 2013-03-28T18:40:16.470 に答える