我t.ms
文件包含:如何在断言失败时使非交互式Maple退出?
interface(prettyprint=0): kernelopts(assertlevel=1):
ASSERT(1<1):
ASSERT(2<2):
当我运行:
maple -q t.ms; echo $?
我得到:
Error, assertion failed
Error, assertion failed
0
当我运行:
maple -e 2 -q t.ms; echo $?
我得到:
Error, assertion failed
0
我想:
Error, assertion failed
4
也就是说,我想枫与在第一次失败的断言非零退出状态退出。 (我不在乎退出代码是否为1或其他任何东西,只要它不为零。我从documentation得到了4,与错误中断有关)我如何得到这个结果?
“1”的退出码意味着枫树未能初始化/启动。你为什么要使用它?退出代码将报告给操作系统,以确定*为什么*枫关闭。在你的例子中,枫树正在运行并正确关闭。 [看起来你可以用'quit(n)','done(n)'或者'stop(n)'来返回你自己的,但是。](http://www.maplesoft.com/support/help/maple /view.aspx?path=maple) – admdrew 2014-12-04 16:03:51
通过使用'-e 2'选项,您可以在第一个未被捕获的错误(在这种情况下由第一个失败的断言引起)退出。 – acer 2014-12-04 16:17:16
@acer:感谢'-e 2'。它确实导致提前退出,但是退出代码为0。我更新了我的问题以反映这一点。如何通过非零退出代码获得提前退出? – pts 2014-12-04 20:30:23