【问题标题】:Passing a path that contains spaces and parentheses to MATLAB from the terminal/bash将包含空格和括号的路径从终端/bash 传递给 MATLAB
【发布时间】:2014-10-31 23:01:39
【问题描述】:

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

正如预期的那样,当路径包含空格/括号时,我遇到了麻烦。以下是说明问题的最小示例:

matlabcmd="/Applications/MATLAB_R2014b.app/bin/matlab -nodesktop -nosplash" run_dir="Users/Me/My Directory With Spaces (and括号)/" $matlabcmd -r "addpath('${run_dir}'),exit"

我尝试过的一些事情:

  1. 上述命令中双引号和单引号的不同组合(这通常在调用 MATLAB 时失败)。

  2. 使用转义字符使run_dir="Users/Me/My Directory\ With\ Spaces\ \(and parentheses\)/"(这设法调用了 MATLAB,但随后 MATLAB 被空格弄糊涂了......并且addpath 不起作用)。

还有希望吗?

【问题讨论】:

标签: bash matlab


【解决方案1】:

试试

matlabcmd="/Applications/MATLAB_R2014b.app/bin/matlab -nodesktop -nosplash" run_dir="Users/Me/My Directory with Spaces (and括号)/" $matlabcmd -r "addpath(getenv('run_dir')),exit"

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2018-10-06
    • 2015-04-26
    • 1970-01-01
    • 2011-11-24
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多