Команды операционной системы можно выполнять из командной строки MATLAB ® с помощью ! оператор или system функция.
Символ восклицательного знака (!), иногда называемый bang, является побегом снаряда. ! символ указывает, что остальная часть входной строки является командой для операционной системы. Операционная система определяет максимальную длину списка аргументов, который может быть введен в команду. Использовать ! для вызова утилит или других исполняемых программ без выхода из MATLAB.
Например, следующий код открывает редактор vi для файла с именем yearlystats.m на платформе UNIX ®.
!vi yearlystats.m
После завершения работы внешней программы или выхода из нее операционная система возвращает управление в MATLAB. Для запуска приложения в фоновом режиме или отображения выходных данных в отдельном окне добавьте & до конца линии.
Например, следующая инструкция открывает программу Microsoft ® Excel ® и возвращает элемент управления в командную строку, чтобы можно было продолжить выполнение команд MATLAB.
!excel.exe &
Следующая команда на платформе Windows ® отображает результаты в окне DOS.
!dir &
Примечание
Чтобы использовать восклицательный знак в факториальном выражении, вызовите factorial функция.
Для запуска программы, возвращающей результаты и статус, используйте system функция.
Для выполнения команд операционной системы с определенными переменными среды включите все команды в операционную систему в рамках системного вызова. Это относится к MATLAB ! (bang), system, dos, и unix функции. Для разделения команд:
На платформах Windows используйте & (амперсанд)
На платформах UNIX используйте ; (точка с запятой)
Либо задайте переменные среды перед запуском MATLAB.
Программу UNIX можно запустить из MATLAB, если папка, содержащая этот файл, не находится в системном пути UNIX, видимом для MATLAB. Чтобы просмотреть путь, видимый для MATLAB, введите в командной строке MATLAB следующее.
getenv('PATH')Можно изменить системный путь для текущего сеанса MATLAB или для последующих сеансов MATLAB, как описано в следующих разделах:
Можно изменить системный путь для текущего сеанса MATLAB. При перезапуске MATLAB папка больше не находится в системном пути.
Чтобы изменить системный путь, выполните одно из следующих действий.
Измените текущую папку в MATLAB на папку, содержащую программу, которую требуется запустить.
Введите в командной строке следующие команды.
path1 = getenv('PATH')
path1 = [path1 ':/usr/local/bin']
setenv('PATH', path1)
!echo $PATH Системный путь можно изменить в сеансе оболочки. При перезапуске MATLAB в текущем сеансе оболочки папка остается в системном пути. Однако при перезапуске сеанса оболочки и последующем перезапуске MATLAB папка больше не находится в пути.
Чтобы добавить папку в системный путь из оболочки, выполните следующие действия.
Выйдите из MATLAB.
В зависимости от используемой оболочки введите в командной строке системы одно из следующих значений: myfolder - это папка, содержащая программу, которую вы хотите запустить:
Для bash или связанная оболочка:
export PATH="$PATH:myfolder"
Для tcsh или связанная оболочка:
setenv PATH "${PATH}:myfolder"
Запустите MATLAB.
В окне команды MATLAB введите:
!echo $PATH
Чтобы изменить системный путь между сеансами оболочки и MATLAB, добавьте следующие команды в файл запуска MATLAB, как описано в разделе Опции запуска в файле запуска MATLAB.
path1 = getenv('PATH')
path1 = [path1 ':/usr/local/bin']
setenv('PATH', path1)
!echo $PATH На платформах macOS нельзя запускать
программу Apple StartScript непосредственно из MATLAB. Чтобы запустить команды, вызывайте Apple macOS
osascript использование функции MATLAB unix или ! (bang) функции.