Running a bash script from MATLAB

30 views (last 30 days)
Fabio Ambrosio
Fabio Ambrosio on 1 Jul 2021
Answered: Walter Roberson on 2 Jul 2021
Hi,
I have a .sh script that needs to be run from MATLAB to open another program.
The command (/s/test2.sh) typed directly into the UNIX terminal works successfully.
The problem is: when running the same command in MATLAB, using the "system" and "unix" function, MATLAB returns the status '0' but the .sh script does not open the other program. I know the script was running because it prints some variables.
Could someone help me with this problem?
Thanks in advance.

Answers (2)

Sayyed Ahmad
Sayyed Ahmad on 2 Jul 2021

Walter Roberson
Walter Roberson on 2 Jul 2021
When you system() or unix() then matlab does not use a login shell, so some initialization might not be done. Aliases might not be set up for example.
Also because it is not a login shell, your shell PATH and LD_LIBRARY_PATH or DYLD_LIBRARY_PATH might not have been set the way you expect.
You might need to
export VARIABLE=VALUE bash /s/test2.sh
or something like that

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by