我正在尝试通过以下方式保存 .mat 文件:
save('/path/to/file/file.mat','var1','var2');
我收到“无法保存/path/to/file/file.mat:权限被拒绝”,当运行 Matlab 的用户没有写入指定目录的权限时,通常会收到此消息。
问题是我绝对拥有 /path/to/file 的写入权限。
输出到
ls -l '/path/to/'
将“文件”目录显示为 drwxrwxr-x,并且属于“开发人员”组,我也是该组的一部分。
进一步证明我有写权限:如果我 cd /path/to/file/ 然后使用 vim 创建一个名为“file.mat”的文件,然后如上所述调用 Matlab 的保存,它就可以了!如果我随后使用终端删除该文件并尝试再次从 Matlab 保存,则会失败!
为什么我无法从 Matlab 创建新文件?
我能想到的唯一细微差别是 /path/to/file 是 RHEL7 上的 NFS 挂载
事实证明,Matlab 会话是在我被添加到“开发人员”组之前启动的。注销、登录并重新启动 Matlab 解决了该问题。