检测Bash中JAR命令的失败

时间:2013-03-28 18:23:33

标签: linux bash jar error-detection

我在bash中执行这个简单的jar命令:

jar cvfm control.jar Manifest <class list>

如何在执行此命令时自动检测故障? 失败意味着命令只是由于以下原因而无法执行:

  • Manifest
  • 中的错误
  • jar命令本身的不当使用,
  • 一些随机错误,例如ClassNotFoundError

请注意,我有兴趣知道是否存档了正确的类。所以我不会认为这是一次失败。

我目前只是使用详细选项来检查一切是否顺利。但是,我觉得这很费时间。我只是想知道jar命令是否成功归档了一些类文件。有没有办法在bash中执行此操作?


我找到的关于此问题的最近的其他资源是:How to detect error if archive of jar file failed?。但是,我对批处理文件一无所知,我有兴趣在bash shell中执行此操作。

1 个答案:

答案 0 :(得分: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