Мой 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 или что-то еще, если оно отличное от нуля. У меня есть номер 4 из documentation, связанный с errorbreak) Как это получить?
Код выхода из '1' означает, что клен не смог инициализировать/запустить. Почему вы хотите использовать это? Коды выхода должны сообщать ОС, чтобы определить, почему * клен закрыт. В вашем примере клен работает и закрывается правильно. [Похоже, вы можете вернуть свои собственные с помощью 'quit (n)', 'done (n)' или 'stop (n)', хотя.] (Http://www.maplesoft.com/support/help/maple /view.aspx?path=maple) – admdrew
Вы можете получить клен для выхода из первой неперехваченной ошибки (вызванной в этом случае первым неудавшимся утверждением) с помощью параметра '-e 2'. – acer
@acer: Спасибо за '-e 2'. Это действительно вызывает ранний выход, но с кодом выхода 0. Я обновил свой вопрос, чтобы это отразить. Как получить ранний выход с ненулевым кодом выхода? – pts