0

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

jar cvfm control.jar Manifest <class list>

如何自动检测执行此命令的失败?失败是指该命令只是由于以下原因未能执行:

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

请注意,我不想知道是否归档了正确的课程集。所以我不会认为这是失败的。

我目前只是使用详细选项来检查一切是否顺利。但是,我觉得这很耗时。我只想知道该jar命令是否成功归档了一组类文件。有没有办法在 bash 中做到这一点?


我发现的关于这个问题的最接近的其他资源是:如果 jar 文件的存档失败,如何检测错误?. 但是,我对批处理文件一无所知,我有兴趣在 bash shell 中执行此操作。

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 回答