Выполнение внешних команд, скриптов и программ

Можно выполнить команды операционной системы из командной строки MATLAB® с помощью оператора ! или функции system.

Функция Escape Shell

Символ восклицательного знака (!), иногда названный ударом, является Escape интерпретатора. Символ ! указывает, что остальная часть входной строки является командой к операционной системе. Операционная система определяет максимальную длину списка аргументов, который можно предоставить, как введено команде. Используйте !, чтобы вызвать утилиты или другие исполняемые программы, не выходя из MATLAB.

Например, следующий код открывает редактор vi для файла с именем yearlystats.m на платформе UNIX®.

!vi yearlystats.m

После того, как внешняя программа завершается, или вы выходите из программы, операционная система возвращает управление в MATLAB. Чтобы запустить приложение в фоновом режиме или отобразить вывод в отдельном окне, добавьте & в конец строки.

Например, следующий оператор открывает программу Microsoft® Excel® и возвращает управление в командную строку так, чтобы можно было продолжить запускать команды MATLAB.

!excel.exe &

Следующая команда на платформе Windows® отображает результаты в окне DOS.

!dir &

Примечание

Чтобы использовать восклицательный знак в факториальном выражении, вызовите функцию factorial.

Возвратите результаты и состояние

Чтобы запустить программу, которая возвращает результаты и состояние, используйте функцию system.

Задайте переменные окружения

Чтобы выполнить команды операционной системы с определенными переменными окружения, включайте все команды в операционную систему в рамках системного вызова. Это применяется к ! MATLAB (удар), system, dos и функции unix. Разделить команды:

  • На платформах Windows используйте & (амперсанд)

  • На платформах UNIX используйте ; (точка с запятой)

Также установите переменные окружения перед стартовым MATLAB.

Выполнение программ UNIX от системного пути

Можно запустить программу UNIX из MATLAB, когда папка, содержащая тот файл, не находится на системном пути к UNIX, который видим к MATLAB. Чтобы просмотреть путь, видимый к MATLAB, введите следующее в подсказке команды MATLAB.

getenv('PATH')

Можно изменить системный путь для текущего сеанса работы с MATLAB или через последующие сеансы работы с MATLAB, как описано в этих темах:

Текущий сеанс работы с MATLAB

Можно изменить системный путь для текущего сеанса работы с MATLAB. Когда вы перезапускаете MATLAB, папка больше не находится на системном пути.

Чтобы изменить системный путь, сделайте одно из следующих.

  • Измените текущую папку в MATLAB к папке, которая содержит программу, которую вы хотите запустить.

  • Введите следующие команды в командной строке.

    path1 = getenv('PATH')
    path1 = [path1 ':/usr/local/bin']
    setenv('PATH', path1)
    !echo $PATH 

Через сеансы работы с MATLAB в текущей Shell сеанс

Можно изменить системный путь в сеансе интерпретатора. Когда вы перезапускаете MATLAB в текущем сеансе интерпретатора, папка остается на системном пути. Однако, если вы перезапускаете сеанс интерпретатора, и затем перезапускаете MATLAB, папка больше не находится на пути.

Чтобы добавить папку в системный путь от интерпретатора, сделайте следующее.

  1. Выход из MATLAB.

  2. В зависимости от интерпретатора вы используете, вводите одно из следующего в системной командной строке, где myfolder является папкой, которая содержит программу, которую вы хотите запустить:

    • Для bash или связанного интерпретатора:

      export PATH="$PATH:myfolder"
      
    • Для tcsh или связанного интерпретатора:

      setenv PATH "${PATH}:myfolder"
      
  3. StartMatlab.

  4. В Окне Команды MATLAB введите:

    !echo $PATH
    

Через все сеансы работы с MATLAB

Чтобы изменить системный путь через интерпретатор и сеансы работы с MATLAB, добавьте следующие команды в файл запуска MATLAB, как описано в опциях запуска в Файле Запуска MATLAB.

path1 = getenv('PATH')
path1 = [path1 ':/usr/local/bin']
setenv('PATH', path1)
!echo $PATH 

Запустите AppleScript на macOS

На macOS платформах вы не можете запустить программу Apple AppleScript непосредственно из MATLAB. Чтобы запустить команды AppleScript, вызовите функцию Apple macOS osascript использование unix MATLAB или ! (удар) функции.

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