Change shell used by matlab

I somehow run into a situation that a copyfile() is done through by my default $SHELL, which is /usr/local/bin/fish, which is out of the scope of the authors assumption, and the execution chokes on:
Error using copyfile
fish: Unknown command ' -r -p -f /Applications/MATLAB_R2016b.app/toolbox/matlab/guide/guitemplates/guidetemplate0.fig
I tried to
setenv SHELL /usr/local/bin/bash
but that doesn't work.
I dug through several docs on startup.m but none of them mentioned how can I specify another shell.
Hints?

1 Comment

Is there a space or shell metacharacter in the filename you are copying from?

Sign in to comment.

 Accepted Answer

Walter Roberson
Walter Roberson on 18 Nov 2016
"On UNIX, MATLAB uses a shell program to execute the given command. It determines which shell program to use by checking environment variables on your system. MATLAB first checks the MATLAB_SHELL variable, and if either empty or not defined, then checks SHELL. If SHELL is also empty or not defined, MATLAB uses /bin/sh."

More Answers (1)

Thanks!
I used
launchctl setenv MATLAB_SHELL /bin/bash
and it all works fine now!

Categories

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!