Изменение переменной окружения для Shell команда

В этом примере показано, как заменить пользовательским заданным значением набор значений переменной окружения MATLAB®, когда вы вызываете функцию с помощью system команда.

Когда вы используете system команда, чтобы вызвать функцию, функция наследовала среду MATLAB. Чтобы изменить значения переменной окружения, используйте обертку интерпретатора. Используйте переменную окружения MATLAB_SHELL задавать интерпретатор, содержащий вашу обновленную переменную. Этот пример использует пользовательское значение в переменной окружения LD_LIBRARY_PATH.

Создайте файл обертки matlab_shell.sh в папке <PATH_TO_SHELL_SCRIPT> со следующим содержимым, где <MY_LIBRARY_PATH> ваше пользовательское значение.

#!/bin/sh

LD_LIBRARY_PATH=<MY_LIBRARY_PATH>
export LD_LIBRARY_PATH

exec ${SHELL:-/bin/sh}  $*

Если у вас есть пользовательское значение для SHELL, выражение ${SHELL:-/bin/sh} использует ваш SHELL значение. В противном случае MATLAB использует Оболочку Bourne.

От подсказки операционной системы вызовите установку MATLAB_SHELL MATLAB к:

<PATH_TO_SHELL_SCRIPT>/matlab_shell.sh

Отобразите свое значение LD_LIBRARY_PATH из командной строки MATLAB.

!echo $LD_LIBRARY_PATH

Теперь, когда вы вызываете функцию с помощью system команда, функция использует LD_LIBRARY_PATH значение задано <MY_LIBRARY_PATH>.

Смотрите также