Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux cd到根目录-不在Matlab脚本中工作_Linux_Matlab_Root_Remote Access_Cd - Fatal编程技术网

Linux cd到根目录-不在Matlab脚本中工作

Linux cd到根目录-不在Matlab脚本中工作,linux,matlab,root,remote-access,cd,Linux,Matlab,Root,Remote Access,Cd,我已经在远程计算机的用户目录中编写了一个Matlab脚本。在这个脚本中,它应该更改为根目录之外的数据目录。在我的脚本中,Matlab代码片段是: data_dir='/data/gcm/'; old_dir=cd(data_dir); % there's other code in here, then... cd(old_dir); 在包含我的Matlab脚本(称为launch_WA)的目录中,我使用以下命令调用该脚本: $ matlab -nodesktop -r "launch_WA;q

我已经在远程计算机的用户目录中编写了一个Matlab脚本。在这个脚本中,它应该更改为根目录之外的数据目录。在我的脚本中,Matlab代码片段是:

data_dir='/data/gcm/';
old_dir=cd(data_dir);
% there's other code in here, then...
cd(old_dir);
在包含我的Matlab脚本(称为launch_WA)的目录中,我使用以下命令调用该脚本:

$ matlab -nodesktop -r "launch_WA;quit"
如果我将数据文件复制到我自己的用户目录下的目录中,它可以在本地计算机上工作,在远程计算机上也可以工作,但它不会从根目录下复制到任何内容

我用stat检查了数据目录的访问限制:

drwxrwxr--

任何帮助都将不胜感激

是否在
cd
中说您需要完整路径才能使用cd访问。如果知道文件夹名比当前文件夹高一级,则可以使用相对路径,在文件夹名之前使用
。\
格式。如果只使用
/data/gcm/
Matlab将只查看当前文件夹

因此,如果文件夹位于当前文件夹中

cd(data_dir);
如果你知道它在哪里

cd(strcat('C:\potato',data_dir))
如果您知道它(例如,2)已升级

cd(strcat('..\..\',data_dir))

我相信要想
cd
inmatlab,您需要完整的路径。因此,如果它是当前路径的子文件夹,则需要
cd(strct('C:\potato',data_dir))
cd(strct('pwd,data_dir))
。远程计算机正在运行Linux,因此数据目录的完整路径是
/data/gcm/
,因为它不在根目录下。我试图使用你的建议来表示级别的增加:
data_dir='../../../../data/gcm
,但是Matlab仍然给我同样的错误;该名称不存在或不是目录@Ander@Alison啊,linux。cd文档中有一个小例子建议您使用
~\dir
。你可能想把它放在托盘上,但如果它是linux问题,我再也帮不上忙了。在我的本地(mac)上,我可以在这段代码中使用
/some\u dir/off\u root
,从pwd进入目录树,这就是为什么我认为相同的代码(只是在远程的新目录中进行子绑定)不起作用的原因。使用
~/dir
只会将我带到我的usr主目录,而不是根目录。无论如何,谢谢你的想法@安德