我正在使用Windows 10中plink.exe
中的cmd
SSH到Ubuntu 16.04。在其中,我正在运行MATLAB,以运行以下命令:
try, someFunction('path/to/files', 'algorithm'), exit(); catch ME, warning(ME.message), exit(); end
为此,我生成以下命令来处理ssh,执行matlab并运行上述命令:
C:\plink.exe user@server -pw ****** "matlab -nodesktop -nosplash -noawt -r 'try, someFunction('path/to/files', 'algorithm'), exit(); catch ME, warning(ME.message), exit(); end'
运行以上命令,在MATLAB中出现以下错误:
Warning: Undefined function or variable 'path/to/files'.
事实证明,在matlab中,命令的构造如下:
someFunction(path/to/files, algorithm)
没有“单引号”:谢谢,plink :(。
请帮助您生成正确的命令?或者如果已经有一个类似问题的问题,我将很高兴引导我解决这个问题。
谢谢
答案 0 :(得分:1)
这不是Plink故障。这就是Windows命令行解释器的工作方式。
添加cmd和batch-file标签,以便您可以从该领域的专家那里得到答案。
无论如何,我可以看到两种解决方案:
将您的命令放入一个文件,如:
matlab -nodesktop -nosplash -noawt -r "try, someFunction('path/to/files', 'algorithm'), exit(); catch ME, warning(ME.message), exit(); end"
并使用带有Plink的文件(command.txt
),例如:
C:\plink.exe user@server -pw ****** -m command.txt
如果您不想为命令使用单独的文件,这也应该起作用:
echo matlab -nodesktop -nosplash -noawt -r "try, someFunction('path/to/files', 'algorithm'), exit(); catch ME, warning(ME.message), exit(); end" | C:\plink.exe user@server -pw ****** -T
(请注意-T
开关)。