Linux 上适用于所有用户的 Matlab 搜索路径

5
我如何在Linux系统上为所有用户添加Matlab搜索路径?
我正在管理一台Linux计算机,由多个人共享。 我想将一些Matlab *.m文件放置在一个路径下(例如,/usr/local/matlab/our_matlab_scripts/),使得每个人都有读取权限。 我还想将此路径添加到所有用户的Matlab搜索路径中, 以便他们可以立即开始使用Matlab文件。
作为单个用户,我了解到可以通过Matlab的“addpath”命令或从Matlab的文件菜单中添加搜索路径。 然而,到目前为止,我无法找到一种方法来作为管理员为所有当前和未来的用户同时执行此操作。
如果您能够友情地教我,我将不胜感激。

可能是如何在Matlab启动时设置一些自定义变量的重复问题。 - Jonas
@Jonas,链接中的问题似乎涉及用户特定的自定义,而不是适用于所有用户的系统范围自定义。我在Matlab官方帮助以及第三方网站上看到了很多关于前者的信息,但我在这里提出的问题是关于后者,即系统范围的情况。 - norio
1
答案涉及到 startup.m。如果将其放入 Matlab 安装的 $matlabroot/toolbox/local 目录中,则所有用户的设置都已完成。与编辑 matlabrc.m 相比,这个选项更加可取,无论是为新安装设置还是进行维护。 - Jonas
@Jonas 谢谢您的评论。请让我了解为什么创建 startup.m 比编辑 matlabrc.m 更好。是否有一个约定,即 Matlab 的新版本是没有 startup.m 的?如果是这样,这是否意味着管理员基本上只需将旧安装的 $matlabroot/toolbox/local/startup.m 复制到新安装的 $matlabroot/toolbox/local/(并对其进行微小修改)?或者,您是指其他原因? - norio
1
Matlab没有startup.m文件。因此,在新安装中,您只需将该文件从旧安装中复制到新安装中(我实际上复制了两个文件,startup.m和一个它依赖的文件)。此外,由于所有用户修改都在单独的文件中,因此更容易维护,因为您不必搜索matlabrc.m中的许多行代码来找出可能有人更改了什么(在开头,在结尾或者在中间)。 - Jonas
@Jonas 谢谢你的解释。这很有道理,我现在创建了 startup.m,将本地设置从 matlabrc.m 移动到了这个文件中,并将 matlabrc.m 恢复到了原始状态。感谢您的评论。 - norio
1个回答

4

非常感谢,@vextorspace。在matlabrc.m的末尾,我添加了一行代码:“path(path, '/path/to/our_matlab_scripts')”。我已经确认用户现在可以运行存储在该目录中的脚本。 - norio
太好了!我想念MATLAB。已经好久没机会用它了,但它真是一个很棒的工具! - vextorspace
正如我在上面的评论中所述(在我的问题的评论字段中),我现在采用了Jonas的想法。也就是说,我创建了一个文件$matlabroot/toolbox/local/startup.m,并在该文件中编写了一行path(path,'/path/to/our_matlab_scripts')matlabrc.m文件已恢复为由Matlab提供的原始版本。 - norio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接