Change shell used by matlab

20 visualizzazioni (ultimi 30 giorni)
Quan Zhou
Quan Zhou il 18 Nov 2016
Risposto: Quan Zhou il 18 Nov 2016
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 Commento
Walter Roberson
Walter Roberson il 18 Nov 2016
Is there a space or shell metacharacter in the filename you are copying from?

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 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."

Più risposte (1)

Quan Zhou
Quan Zhou il 18 Nov 2016
Thanks!
I used
launchctl setenv MATLAB_SHELL /bin/bash
and it all works fine now!

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by