我可以在MATLAB中更改提示吗?

时间:2011-02-19 04:39:45

标签: matlab command-prompt prompt

我从不使用GUI,并且总是在使用-nodesktop -nodisplay选项设置的终端(也是全屏,因此没有标题栏)内。我也连接了不同的服务器,运行matlab,每个服务器都有不同的计算资源限制。由于很难记住我所在的服务器,特别是如果我打开了多个会话,我想知道是否可以更改提示以显示服务器名称。尽我所能,我找不到解释如何去做的资源(我开始认为Mathworks不支持它)。我知道,解决方法是简单地将函数调用写入system('hostname')并将函数放在路径中,这样就像键入pwd来查找目录一样简单。我想知道是否有更优雅的东西。

1 个答案:

答案 0 :(得分:12)

MathWorks File Exchange上的提交内容可以为您执行此操作:setPrompt Yair Altman。在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后,上述更改(抑制警告和修改后的提示)不会保留,因此您可以将上述代码放在startup.m file中以应用它们每次开始新会话时自动。