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

12 matlab prompt command-prompt

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

gno*_*ice 12

有在提交MathWorks的文件交换,可以为你做这个:setPrompt亚伊尔奥特曼.在R2010b中使用它,我注意到我收到了警告消息:

Warning: Possible deprecated use of set on a Java callback. 
> In setPrompt at 115
Run Code Online (Sandbox Code Playgroud)

我能够使用这样的warning函数来抑制:

warning('off','MATLAB:hg:JavaSetHGProperty');
Run Code Online (Sandbox Code Playgroud)

以下是我使用system函数将提示更改为主机名的方法:

>> [~,systemString] = system('hostname');
>> setPrompt([deblank(systemString) '>> ']);
P11-4504>>
Run Code Online (Sandbox Code Playgroud)

该函数deblank用于从字符串中删除尾随空格(在本例中为换行符).

注意:退出并重新启动MATLAB后,上述更改(抑制警告和修改后的提示)不会保留,因此您可以将上述代码放在startup.m文件中,以便在每次启动新会话时自动应用它们.