bashスクリプトでMATLAB関数を呼び出しています
matlab -nodesktop -nosplash -nodisplay -r "matlabfunction input1 input2; quit"
私は、matlab 関数から 1 桁の戻り値を取得して、この戻り値に基づいて他のルーチンに進めようとしています。
答え1
quit
または のどちらかを使用してmatlabを終了できますexit
。 では終了コードを指定できることを除けば、基本的に同じですexit
。終了コードを悪用するつもりなら、次のようにすることができます。
matlab -nodesktop -nosplash -nodisplay -r "exit(times(2, 7));" > /dev/null; echo $?
これを実行する場合は、bash がゼロ以外の終了コードを処理すると混乱する可能性があり、関数が exit で処理できるエラー コードを返すようにするために何らかのエラー処理が必要になる可能性があることに注意してください。
もう一つの選択肢は、matlabの出力をキャプチャして、必要なものを解析することです。
matlab -nodesktop -nosplash -nodisplay -r "format compact; Answer=times(2, 7), exit" | sed -ne '/Answer =/{n;p}' | sed -e 's/ *//g'