Могу ли я изменить приглашение в MATLAB?

Я никогда не работаю с GUI и всегда нахожусь внутри терминала (также в полноэкранном режиме, поэтому нет строки заголовка) с опцией-nodesktop-nodisplay. У меня также есть разные серверы, к которым я подключаюсь, для запуска matlab, и каждый из них имеет разные ограничения на вычислительные ресурсы. Поскольку трудно вспомнить, на каком сервере я нахожусь, особенно если у меня открыто несколько сеансов, мне было интересно, могу ли я изменить приглашение для отображения имени сервера. Как я ни старался, я не смог найти ... ресурс, который объясняет, как это сделать (я начинаю думать, что Скрипты не поддерживает его). Я знаю, обходным путем было бы просто написать вызов функции system('hostname') и поставить функцию в путь, так что это примерно так же просто, как ввод pwd найти в каталоге. Я хотел бы знать, есть ли что-то более элегантное.

1 ответов


есть представление о Обмен Файлами MathWorks что может сделать это для вас: setPrompt by Яир Альтман. Используя его в R2010b, я заметил, что получаю предупреждающее сообщение:

Warning: Possible deprecated use of set on a Java callback. 
> In setPrompt at 115

который я смог подавить, используя warning вот так:

warning('off','MATLAB:hg:JavaSetHGProperty');

и вот как я изменил приглашение на имя хоста, используя system функция:

>> [~,systemString] = system('hostname');
>> setPrompt([deblank(systemString) '>> ']);
P11-4504>>

функции deblank используется для удаления конечных пробелов (в данном случае новой строки) из строки.

Примечание: вышеуказанные изменения (подавленное предупреждение и измененное приглашение) не сохраняются после выхода и перезапуска MATLAB, поэтому вы можете поместить вышеуказанный код в свой Автозагрузка.файл м применять их автоматически при каждом запуске нового сеанса.