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

Можно выполнить команды операционной системы из командной строки 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 (удар), systemDOS, и 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 или ! (удар) функции.

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