Использование оболочки bash внутри Matlab - PullRequest
5 голосов
/ 24 июля 2010

Я пытаюсь поместить большой набор команд bash в сценарий matlab и оттуда управлять моими переменными (такими как пути к файлам, параметры и т. Д.).Это также необходимо, поскольку этот рабочий процесс требует ручного вмешательства на определенных этапах, и я хотел бы использовать для этого пошаговый отладчик.

Проблема в том, что я не понимаю, как matlab взаимодействует с оболочкой bash.Я не могу сделать system('source .bash_profile'), чтобы определить мои переменные bash.Точно так же я не могу определить их вручную и прочитать их, например, system('export var=somepath'), а затем system('echo $var') ничего не возвращает.

Как правильно определить переменные в bash внутри командного окна matlab?Как я могу создать рабочий поток команд, которые будут использовать переменные, которые я определил, а также те, что в моем .bash_profile?

Ответы [ 2 ]

6 голосов
/ 24 июля 2010

Если все, что вам нужно сделать, это установить переменные окружения, сделайте это в MATLAB:

>> setenv('var','somepath')
>> system('echo $var')
3 голосов
/ 24 июля 2010

Вызовите Bash в качестве оболочки входа в систему, чтобы получить источник ~ / .bash_profile, и используйте параметр -c для выполнения группы команд оболочки за один раз.

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