какая оболочка используется системной командой на matlab - PullRequest
0 голосов
/ 06 сентября 2018

Системные команды могут выполняться на Matlab с использованием синтаксиса system(). В среде unix, какую оболочку выбирает matlab для выполнения системных команд? Первая запись /etc/shells? Можно ли изменить поведение по умолчанию? Я ищу общее решение, которое будет применяться ко всем системным вызовам, а не решение, которое включает в себя разветвление дочернего процесса с интересующей оболочкой, как в system('/bin/ksh <command>').

1 Ответ

0 голосов
/ 06 сентября 2018

Как говорится в документе ,

В UNIX MATLAB использует программу оболочки для выполнения данной команды. Он определяет, какую программу оболочки использовать, проверяя переменные среды в вашей системе. MATLAB сначала проверяет переменную MATLAB_SHELL и, если она пуста или не определена, проверяет SHELL. Если SHELL также пуст или не определен, MATLAB использует /bin/sh.

Системная команда MATLAB использует MATLAB_SHELL или SHELL, или / bin / sh. Вы можете изменить оболочку по умолчанию, установив переменную окружения MATLAB_SHELL или SHELL.

Например, если вы выбираете MATLAB_SHELL, перед запуском MATLAB вам необходимо установить

setenv MATLAB_SHELL /bin/ksh

в csh, tcsh.Or,

export MATLAB_SHELL="/bin/ksh"

в баш.

Затем MATLAB будет использовать / bin / ksh с системной командой.

Если вы используете / bin / ksh каждый раз, лучше установить MATLAB_SHELL в вашем ~ / .bashrc и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...