Linux 检测Bash中JAR命令的失败
我正在bash中执行这个简单的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选项检查一切是否顺
jar
命令:
jar cvfm control.jar Manifest <class list>
jar-cvfm-control.jar清单
如何自动检测此命令执行过程中的故障?
所谓失败,我的意思是,由于以下原因,命令无法执行:
清单中出现错误
命令本身使用不当jar
- 一些随机错误,如,
等ClassNotFoundError
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。。。关于($?)
更改$?
的有趣点。。。谢谢你的回答。几乎所有的事情都会改变。$?:-)