Запретить печать в командной строке в MATLAB
Прежде чем ответить, я не ищу функциональность ;
подавить печать командной строки.
У меня есть набор сценариев, которые не являются моими, и я не могу их изменить. Однако в моих сценариях я обращаюсь к этим другим сценариям через evalin('base', 'scriptName')
, К сожалению, эти другие сценарии выполняют много ненужной и уродливой печати в командном окне, которое я не хочу видеть. Не имея возможности редактировать эти другие сценарии, я хотел бы отменить вывод в командную строку на время выполнения этих других сценариев.
Одним из возможных ответов было использование evalc
, но когда я пытаюсь evalc(evalin('base', 'scriptName'))
MATLAB выдает ошибку с жалобой на то, что не может выполнить скрипт как функцию. Я надеюсь, что есть что-то вроде возможности отключить печать командного окна или перенаправить весь вывод в какой-то нулевой файл так же, как /dev/null
в Unix.
3 ответа
Я думаю, вам просто нужно включить аргумент в ваш evalc
пример в строку:
evalc('evalin(''base'', ''scriptName'')');
Я не знаю, будет ли это соответствовать вашим потребностям, но другое решение может состоять в том, чтобы открыть новый сеанс Matlab и использовать там только свёртывание -nodesktop
Форма (просто командное окно). Оттуда вы можете запускать надоедливые скрипты и работать с основной сессией как обычно.
Проблема здесь в том, что сеансы не могут быть синхронизированы, поэтому, если вам нужно постоянно работать с результатами сценариев, это будет немного сложнее. Возможно, вы можете сохранить результат на диск, а затем вызвать его из основного сеанса... Но это в основном зависит от вашего рабочего процесса с этими сценариями.