Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
将包含空格和括号的路径从terminal/bash传递到MATLAB_Bash_Matlab - Fatal编程技术网

将包含空格和括号的路径从terminal/bash传递到MATLAB

将包含空格和括号的路径从terminal/bash传递到MATLAB,bash,matlab,Bash,Matlab,我目前正在编写一个脚本,我必须从终端调用MATLAB,并向它传递一个包含糟糕字符的路径参数 正如所料,当路径包含空格/括号时,我遇到了麻烦。下面是一个简单的例子来说明这个问题: matlabcmd=/Applications/MATLAB_R2014b.app/bin/MATLAB-nodesktop -nosplash run_dir=Users/Me/My目录,带空格和括号/$matlabcmd-r addpath'${run_dir}',退出 我尝试过的一些事情: 上述命令中双引号和单引号

我目前正在编写一个脚本,我必须从终端调用MATLAB,并向它传递一个包含糟糕字符的路径参数

正如所料,当路径包含空格/括号时,我遇到了麻烦。下面是一个简单的例子来说明这个问题:

matlabcmd=/Applications/MATLAB_R2014b.app/bin/MATLAB-nodesktop -nosplash run_dir=Users/Me/My目录,带空格和括号/$matlabcmd-r addpath'${run_dir}',退出

我尝试过的一些事情:

上述命令中双引号和单引号的不同组合通常无法调用MATLAB

使用转义字符,使run_dir=Users/Me/My Directory\带有\Spaces\\and圆括号\/这可以调用MATLAB,但是MATLAB会被空格搞糊涂。。。而addpath不起作用

有希望吗?

试试看

matlabcmd=/Applications/MATLAB_R2014b.app/bin/MATLAB-nodesktop -nosplash run_dir=Users/Me/My Directory(带空格和括号)/$matlabcmd-r addpathgetenv'run_dir',退出


这将防止引用/转义噩梦,并将产生预期效果。

不要尝试使用字符串来执行命令。它总是以痛苦告终。请看,使用Users/Me/MyDire~1/这样的DOS路径可能会有所帮助。