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 comentario

Walter Roberson
Walter Roberson el 18 de Nov. de 2016
Is there a space or shell metacharacter in the filename you are copying from?

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 18 de Nov. de 2016

1 voto

"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."

Más respuestas (1)

Quan Zhou
Quan Zhou el 18 de Nov. de 2016

0 votos

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

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 18 de Nov. de 2016

Respondida:

el 18 de Nov. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by