Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 检测Bash中JAR命令的失败_Linux_Bash_Jar_Error Detection - Fatal编程技术网

Linux 检测Bash中JAR命令的失败

Linux 检测Bash中JAR命令的失败,linux,bash,jar,error-detection,Linux,Bash,Jar,Error Detection,我正在bash中执行这个简单的jar命令: jar cvfm control.jar Manifest <class list> jar-cvfm-control.jar清单 如何自动检测此命令执行过程中的故障? 所谓失败,我的意思是,由于以下原因,命令无法执行: 清单中出现错误 jar命令本身使用不当 一些随机错误,如,ClassNotFoundError等 请注意,我不想知道是否归档了正确的类集。所以我不会认为这是一个失败。 我目前正在使用verbose选项检查一切是否顺

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

jar cvfm control.jar Manifest <class list>
jar-cvfm-control.jar清单
如何自动检测此命令执行过程中的故障? 所谓失败,我的意思是,由于以下原因,命令无法执行:

  • 清单中出现错误
  • jar
    命令本身使用不当
  • 一些随机错误,如,
    ClassNotFoundError
请注意,我不想知道是否归档了正确的类集。所以我不会认为这是一个失败。

我目前正在使用verbose选项检查一切是否顺利。但是,我发现这很耗时。我只想知道
jar
命令是否成功地归档了一些类文件集。在bash中有没有这样做的方法



我找到的关于此问题的最接近的其他资源是:。但是,我对批处理文件一无所知,我对在bash shell中执行此操作感兴趣。

这是查看命令是否成功的最基本方法:

if jar cvfm control.jar Manifest <class list> ; then
    echo "Success"
else
    echo "Oops!"
fi
if-jar-cvfm-control.jar清单;然后
呼应“成功”
其他的
回声“哎呀!”
fi
如果您只想检测故障,则反转测试:

if ! jar cvfm control.jar Manifest <class list> ; then
    echo "Oops!"
fi
if!jar cvfm control.jar清单;然后
回声“哎呀!”
fi
或者明确测试结果:

jar cvfm control.jar Manifest <class list>
if (( $? )) ; then
    echo "Oops!"
fi
jar-cvfm-control.jar清单
若(元);;然后
回声“哎呀!”
fi

如果(($?)的话,
会不会;然后
仅对最近执行的命令或选中此条件之前执行的任何命令保持条件?忽略前面的注释。。。算出了……:)只有最近的。事实上,
($?)
本身改变了$?。如果需要将其持久化,则必须在要跟踪的命令之后立即将其分配给变量:
result=$?
ah。。。关于
($?)
更改
$?
的有趣点。。。谢谢你的回答。几乎所有的事情都会改变。$?:-)