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

19 views (last 30 days)
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)

Walter Roberson
Walter Roberson on 15 Jul 2015
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
Gautam Shetty
Gautam Shetty on 28 Feb 2017
Doesn't work. Putting -nodesktop before -r opens the GUI application, doesn't run on command prompt.
Walter Roberson
Walter Roberson on 24 Jul 2019
/Applications/MATLAB_R2016b.app/bin/matlab -nojvm -nodesktop -r 'linear_regression(''sample_data1.txt'',1,0)'

Sign in to comment.


Fardowsa Halane
Fardowsa Halane on 24 Jul 2019
./matlab: line 1: syntax error near unexpected token `='
./matlab: line 1: `function p = pathdef'

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

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!