Мне нужно запустить MATLAB в пакетном режиме и хотел бы перехватить все возможные ошибки. Следующий код
matlab -nojvm -nodesktop -nosplash -r "try, x=y; catch ME, disp(getReport(ME)); end; exit"
отлично работает и MATLAB корректно жалуется
Undefined function or variable 'y'.
Однако, для синтаксических ошибок, таких как этот
matlab -nojvm -nodesktop -nosplash -r "try, x:=y; catch ME, disp(getReport(ME)); end; exit"
Матлаб говорит
try, x:=y; catch ME, disp(getReport(ME)); end; exit
|
Error: Incorrect use of '=' operator. To assign a value to a variable, use '='. To compare values for equality, use '=='.
>>
и приостанавливает в командной строке. Метод грубой силы, чтобы предотвратить это поведение
echo "exit" | matlab -nojvm -nodesktop -nosplash -r "try, x:=y; catch ME, disp(getReport(ME)); end; exit"
Есть ли более элегантный способ решить эту проблему? Благодаря.
MATLAB Версия: 9.5 (R2018b), ОС: Linux 4.12.14 (OpenSUSE)