Change Environment Variable for Shell Command
This example shows how to substitute a user-specified value for
an environment variable value set by MATLAB® when you call a function using the system
command.
When you use the system command to call a function, the
function inherits the MATLAB environment. To change environment variable values, use a shell
wrapper. Use the environment variable MATLAB_SHELL to specify a
shell containing your updated variable. This example uses a custom value for the
environment variable LD_LIBRARY_PATH.
Create a wrapper file matlab_shell.sh in the folder
<PATH_TO_SHELL_SCRIPT> with the following
contents, where <MY_LIBRARY_PATH> is your
custom value.
#!/bin/sh
LD_LIBRARY_PATH=<MY_LIBRARY_PATH>
export LD_LIBRARY_PATH
exec ${SHELL:-/bin/sh} $*If you have a user-defined value for SHELL, the expression
${SHELL:-/bin/sh} uses your SHELL
value. Otherwise, MATLAB uses the Bourne shell.
From the operating system prompt, call MATLAB setting MATLAB_SHELL to:
<PATH_TO_SHELL_SCRIPT>/matlab_shell.sh
Display your value of LD_LIBRARY_PATH from the MATLAB command prompt.
!echo $LD_LIBRARY_PATHNow when you call a function using the system command,
the function uses the LD_LIBRARY_PATH value specified by
<MY_LIBRARY_PATH>.