'system' command error: " /bin/sh: -c: line 0: syntax error near unexpected token `(' "

I'm running Matlab on Mac OS. Trying to execute the following bash command, which executes without a problem in the bash shell:
join -1 3 -2 1 -o 1.3 <(sort -k3 file1.txt) file2.txt > output.txt
Using Matlab's 'system' command, and passing that string to it I get the following error:
/bin/sh: -c: line 0: syntax error near unexpected token `('
I suspect this is a problem with Matlab using the sh shell instead of Bash. Is there a work around on this?
Thanks!

Answers (3)

Notice in the documentation:
<<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.>>

5 Comments

Getting this error while running from terminal on Mac: /Applications/MATLAB_R2016b.app/bin/matlab -r -nodesktop 'linear_regression(sample_data1.txt,1,0)'; /Applications/MATLAB_R2016b.app/bin/matlab: eval: line 1701: syntax error near unexpected token `(' /Applications/MATLAB_R2016b.app/bin/matlab: eval: line 1701: `exec "/Applications/MATLAB_R2016b.app/bin/maci64/../../Contents/MacOS/MATLAB_maci64" -r "-nodesktop" linear_regression(sample_data1.txt,1,0)'
How to set the MATLAB_SHELL env. variable and what should be the value?
The -nodesktop needs to be before the -r. When you use -r then everything to the end of the line is part of the command.
Doesn't work. Putting -nodesktop before -r opens the GUI application, doesn't run on command prompt.
/Applications/MATLAB_R2016b.app/bin/matlab -nojvm -nodesktop -r 'linear_regression(''sample_data1.txt'',1,0)'

Sign in to comment.

./matlab: line 1: syntax error near unexpected token `='
./matlab: line 1: `function p = pathdef'
./matlab: line 1: syntax error near unexpected token `='
./matlab: line 1: `function p = pathdef'
what do i do about this please help.

1 Comment

Which directory are you cd to when you do the ./matlab at the shell prompt?

Sign in to comment.

Categories

Asked:

on 14 Jul 2015

Commented:

on 24 Jul 2019

Community Treasure Hunt

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

Start Hunting!