Запуск внешних команд, скриптов и программ

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

Функция побега из Shell

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

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

!vi yearlystats.m

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

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

!excel.exe &

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

!dir &

Примечание

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

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

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

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

Чтобы выполнить команды операционной системы с определенными переменными окружения, включите все команды в операционную систему в системном вызове. Это относится к MATLAB ! (bang), 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. Запустите MATLAB.

  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, вызовите osascript Apple macOS функция с использованием MATLAB unix или ! (bang) функции.

См. также