'system' command error: " /bin/sh: -c: line 0: syntax error near unexpected token `(' "
Show older comments
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
on 15 Jul 2015
0 votes
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
Michael
on 15 Jul 2015
Gautam Shetty
on 24 Feb 2017
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?
Walter Roberson
on 24 Feb 2017
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.
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
on 24 Jul 2019
/Applications/MATLAB_R2016b.app/bin/matlab -nojvm -nodesktop -r 'linear_regression(''sample_data1.txt'',1,0)'
Fardowsa Halane
on 24 Jul 2019
0 votes
./matlab: line 1: syntax error near unexpected token `='
./matlab: line 1: `function p = pathdef'
Fardowsa Halane
on 24 Jul 2019
0 votes
./matlab: line 1: syntax error near unexpected token `='
./matlab: line 1: `function p = pathdef'
what do i do about this please help.
1 Comment
Walter Roberson
on 24 Jul 2019
Which directory are you cd to when you do the ./matlab at the shell prompt?
Categories
Find more on Startup and Shutdown 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!