图片缩略图

SSH/SFTP/SCP For Matlab (v2)

版本1.10.1.1 (746 KB) 大卫弗里德曼
改进的Matlab接口SSH2/SFTP/SCP(支持公钥)使用Ganymed-SSH2 金宝appjavalib。
4.9
60评级

68下载

更新8月20日

查看版本历史

查看许可协议

编者按:此文件被选为MATLAB Central本周精选

一个新的Matlab接口,用于使用Ganymed-SS2 Java库。重命名命令是改进现有的Matlab/SSH2代码库的限制(见灵感提交)使用一个简单的命令列表。
如果您需要从Matlab会话访问远程机器(用于近实时数据传输等),这组函数允许您发送命令并获取返回值。包括SFTP和SCP文件传输功能。金宝app支持公钥认证和改进的多命令支持。
这需要开源的用于Java的Ganymed SSH-2,它可以免费获得并自动包含在zip文件中。对于SFTP-GET,必须使用包含的自定义Ganymed SSH-2 Java库,该库与Matlab兼容。

看到ssh2-examples。M代表文档。

如需支持金宝app,请直接联系作者,而不是先张贴到“评论和评分”。有帮助的信息或评论可以在沟通后发布,以确保对其他人有用的信息,而不是在评论中膨胀的SSH/SFTP/SCP连接失败的信息。

#1连接的问题是Matlab机器上的软件防火墙阻止Java进行连接。如果你能连接到同一台机器,请检查一下。
#2问题是ssh-serve金宝appr上支持身份验证。更多信息请参见Ganymed-SSH2 faq。http://www.ganymed.ethz.ch/ssh2/FAQ.html

此外,我很想在评论区听到你如何以及在哪里使用这篇文章。

引用作为

大卫·弗里德曼(2021)。SSH/SFTP/SCP For Matlab (v2)(//www.tatmou.com/matlabcentral/fileexchange/35409-ssh-sftp-scp-for-matlab-v2), MATLAB中央文件交换。检索

意见及评分(99

山姆困境

我认为在ssh2.m的第61行有一个拼写错误。我觉得应该是"nargin"而不是"nargout"。从已编译应用程序中删除对象时的一些奇怪行为中发现的。

山姆困境

可爱的代码。我花了很长时间让它工作,我想我可以分享我的问题,以帮助其他人,如果他们正在尝试使用它。
我得到的错误“错误:SSH2无法连接到SSH2主机-“”!”
我发现David的代码使用了一个try catch,它对Java稍微隐藏了错误消息。(ssh2_main的第58行)。
如果您重新抛出最后一个错误,您将获得更多信息。对我来说,我被告知客户的密钥交换提议有问题(“无法协商,提议不匹配”)。
Ganymed库提供了diffie-hellman-group-exchange-sha1、diffie-hellman-group14-sha1、diffie-hellman-group1-sha1密钥交换算法。我的服务器不接受这些,所以我必须将其中一个添加到sshd_config文件中。我特别在我的列表末尾添加了一个:“KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group-exchange-sha1”
我希望这能帮助到一些人!

Seungkuk南

非常感谢您分享这些精彩的代码。我真的很感激。

Seungkuk南

ScienceDude1990

太棒了!轻松连接到树莓派!

Zavar阿

工作得很好!我一直在用它来提交在大学集群上运行的模拟,它完全符合我的需要。非常感谢你,大卫!我唯一的建议是将SCP功能添加到整个文件夹中(除非这个功能已经存在,而我错过了它)。我可以通过创建递归函数来单独提交每个文件来实现这一点。还有,有没有办法强制抑制反应?我的意思是停止显示到MATLAB控制台的响应,但仍然存在于command_result?

安德莉亚·达尔蒙特

我试图连接到我的服务器,但是我得到这个错误:

使用ssh2_main时出错(第86行)
错误:SSH2无法连接到SSH2主机- "173.000.0.00"!

ssh2错误(第84行)
Ssh2_struct = ssh2_main(Ssh2_struct);

ssh2_command中的错误(第31行)
Ssh2_struct = ssh2(Ssh2_struct);

ssh2_simple_command中的错误(第38行)
Ssh2_struct = ssh2_command(Ssh2_struct, command, enableprint);

我错过了什么?ssh连接在matlab中工作良好…

佩德罗Quintero

王聚会

尤尔根•茨

日元阮

大卫·迈耶

是否有一种方法可以输出远程目录中的所有文件名?我不想下载所有文件,但我并不总是知道文件的确切名称。

亚森P

哦,我的错。我不知道如何编辑或删除评论(如果我可以的话)。
修复应该是这样的:

function [str] = ssh2_localPathString(fileStr,pathStr)
确定路径是否已经是绝对路径
pathOnly = fileparts(fileStr);
if ~isempty(pathOnly)&& exist(pathOnly,'dir')
str = fileStr;
其他的
str = fullfile(pathStr,fileStr);
结束
返回;

大卫弗里德曼

我收到过很多这样的问题,直到最近都没有整理出来。为了将其编译成一个独立的应用程序,我将jar文件添加到源文件夹(并将其添加到编译列表中)并进行编辑

$ MATLABROOT /工具箱/地方/ classpath.txt

包含.jar文件的副本。这对我很管用!

更多信息请参见此链接
https://stackoverflow.com/questions/9220675/matlab-compiler-mcc-errors-on-imports-for-java-classes-from-dynamic-java-classpa

大卫弗里德曼

我注意到,当将文件上载到路径包含字符串的服务器时,SCP_Put函数将失败。我必须通过一个空格转义远程文件夹,即。
Newremotefolder = strrep(remote_base_folder,' ','\ ');

Ufuk驯养员

嗨,首先谢谢你带我去图书馆。当命令编写正确时,它可以正常工作。但是,您无法从主机获得错误打印输出,这使得在命令不返回任何内容的情况下,很难理解命令是否正常工作。有人找到解决办法了吗?

丹尼尔Lemus

你好。首先感谢你有这么好的图书馆!我正在尝试做X11转发,可以吗?

乔纳斯发抖

伟大的工作!

亨利·吉登斯

让Perl

我发送了一封电子邮件,但我在这里写,看看是否有人可以帮助我更快:我有“ls”与ssh一起工作,但我试图通过ssh启动一个ros节点,但没有成功。有人有什么建议吗?

Arnaud Bitoun

Arnaud Bitoun

大卫,谢谢你分享这个非常有用的工具箱。您是否开发了重命名和删除的等价物?
提前谢谢你

阿尔伯特·帕西

代码可以工作,但是你听说过类/对象吗?一半的代码是检查结构体是否有字段——这就是类为你做的事情。

劳伦斯·杰克逊

Le杨

Ilkoo安

谢谢你分享这么棒的代码。
我想提个建议。
我编写了以下代码来指定端口:
Ssh2_conn = ssh2_config('sftp.thishost.com','用户名','密码','1234');
但是,这段代码产生了一个错误。后来我发现我必须以整数而不是文本的形式输入端口(如下所示)。
Ssh2_conn = ssh2_config('sftp.thishost.com','用户名','密码',1234);
请在ssh2_examples中添加一个示例。M表示以整数形式输入端口。
谢谢。

日孤安

谢谢你分享这么棒的代码。
我想提个建议。
我编写了以下代码来指定端口:
Ssh2_conn = ssh2_config('sftp.thishost.com','用户名','密码','1234');
但是,这段代码产生了一个错误。后来我发现我必须以整数而不是文本的形式输入端口(如下所示)。
Ssh2_conn = ssh2_config('sftp.thishost.com','用户名','密码',1234);
请在ssh2_examples中添加一个示例。M表示以整数形式输入端口。
谢谢。

Perig Vennetier

佳和锅

更新:
“监视器”问题解决了。由于shell环境不同,采用绝对路径解决。在命令后使用2>&1查看stderr输出。
而作为'cd ..' problem, 'cd ..&& ls -l'输出预期结果。现在还是毫无头绪。

佳和锅

你好大卫,
谢谢你的代码。但是,我在使用时遇到了一些问题。
我已经成功地建立了连接,并执行了一些命令,而某些命令未能发挥作用。输出如下:

>> ssh2_conn = ssh2_command(ssh2_conn,'pwd',1);
/根
>> ssh2_conn = ssh2_command(ssh2_conn,' CD ..',1);

>> ssh2_conn = ssh2_command(ssh2_conn,'pwd',1);
/根

(cd ..'更改目录失败)

两者都不能“监视”命令工作(我使用ssh与FPGA通信)

此外,错误信息似乎不会被存储或打印。

你对这个问题有什么想法?非常感谢。

大卫年轻

谢尔盖Akbulatov

公钥认证(ssh2_config_publickey)注意:由Putty或MobaXterm生成的ssh2密钥(RSA或DSA)必须转换为openssh格式,以供ganimed ssh2库识别。

谢尔盖Akbulatov

弗拉德Dascau

谢谢塞巴斯蒂安,我会尝试你的解决方案。

塞巴斯蒂安•菲舍尔

@Vlad:我刚看到你的评论。实际上,首先我通过为我想使用的用户设置一个空密码来解决这个问题。然后,我上一篇文章中的代码片段实际上起作用了。但这不是一个真正的解决方案,因为它可能不可能每次都设置用户密码,即使它是空的。

为了登录到一个根本没有设置密码的用户,我修改了文件ssh2_main。在“%% AUTHENTICAE(密码或私钥)”部分,脚本尝试Java库中可用的不同身份验证方法。尝试的最后一种方法是使用“ssh2_struct.connection”使用用户名和密码进行身份验证。authenticateWithPassword Java方法。我用Java方法“ssh2_struct.connection”替换了这个方法。authenticateWithNone”,这对我很有用。

下面是对应的“username + password”(注释掉)和“username”的代码片段:
% ssh2_struct。authenticated = ssh2_struct.connection.authenticateWithPassword(…
% ssh2_struct.username ssh2_struct.password)
ssh2_struct。authenticated = ssh2_struct.connection.authenticateWithNone(…
ssh2_struct.username);

我希望这对你有所帮助。

欢呼,
塞巴斯蒂安。

弗拉德Dascau

我也有同样的问题。尝试连接到一个无密码的根用户在一个板上,并尝试什么塞巴斯蒂安费舍尔说(ssh2_config(主机名,用户名,“”)),但它仍然不工作。使用其他有密码的用户也可以。有什么想法吗?

布鲁诺松井

梁赵

朱塞佩Passucci

我一直在找这样的东西,谢谢!

塞巴斯蒂安•菲舍尔

感谢大卫的巨大贡献,也感谢他对我的信息的快速回应。
我遇到了与M. Ertem相同的问题,即登录到一个没有密码集的帐户。其实非常非常简单。我只是想在这里发布解决方案,如果其他人有同样的问题,他们也可以从中受益:
ssh2_conn = ssh2_config(HOSTNAME, USERNAME, "")

约翰·梅菲尔德

M. C Ertem

谢谢你,大卫!(既用于编写代码,也用于今早的快速帮助……)

注意:(至少在BeagleBone上)ssh2_simple_command不适合我使用空密码
我用了一个有密码的账户,它像魔法一样有效……(我所需要做的就是签发一个
'touch goTrigger'从Matlab内部到shell,在BeagleBone上启动我的数据acq例程。

Igor Guryev

Igor Guryev

我在'get=1'模式下使用scp_get(), scp_simple_get()或scp()时遇到了问题。Matlab就挂了,我必须手动终止它。该问题出现在单个或多个文件中。
Scp_put工作得很完美。

Jon年龄

斯科特•厄克特

奥伦Shriki

大卫弗里德曼

克里斯托弗·艾里希,请直接联系我寻求帮助。请不要在评论和评分中发布您的连接问题。

克里斯托弗捏

嘿,大卫,

我已经连接成功,但是我不能执行任何命令。我收到这个简单的“ls”查询:

使用ssh2_main时出错(第320行)
出现Java异常:
ioexception:执行请求失败。

ch.ethz.ssh2.channel.ChannelManager.requestExecCommand (ChannelManager.java: 707)

ch.ethz.ssh2.Session.execCommand (Session.java: 248)

原因:java.io.IOException:服务器拒绝请求。

ch.ethz.ssh2.channel.ChannelManager.waitForChannelSuccessOrFailure (ChannelManager.java: 191)

ch.ethz.ssh2.channel.ChannelManager.requestExecCommand (ChannelManager.java: 703)

...1

ssh2错误(第84行)
Ssh2_struct = ssh2_main(Ssh2_struct);

ssh2_command中的错误(第31行)
Ssh2_struct = ssh2(Ssh2_struct);

************************中的错误(第3行)
Ssh2_command (test, 'ls -l');

易隋

大卫弗里德曼

嗨,Massimo,你可以使用这个工具来构建你所说的功能。但是您需要开发关于要替换哪些文件的逻辑。我建议使用SSH获取文件列表及其日期,处理该列表以确定使用SFTP或SCP上传哪些文件。TL: DR:这是可能的,但你必须做大部分繁重的工作。

马西莫Cenciarini

你好大卫,
非常感谢您提供这样一套文件。我试图使用它,并取代需要使用一些linux脚本来执行从本地服务器到远程服务器的文件传输。我想传输文件,并可能更新存储在目标文件夹中的文件,检查目的地是否更新。这能做到吗?我尝试使用matlab文件“ssh2_command”实现cp或rsync调用。但是运气不好。
如果你能帮助我,请告诉我。最好,马西莫。

branch331

Mathworks应该在他们的下一个版本中加入这一点!!

诏书

哈桑Naseri

伟大的图书馆。为了支持安装在当前文件夹金宝app之外的Java库,需要编辑文件ssh2_setupm。

ssh2_setup中的第114-121行。M需要修改如下

if (USE_CUSTOM_GANYMED_LIB > 0)
如果存在(“ganymed-ssh2-m1”、“dir”)
Ganymed_java_library = fileparts(which(' ganymed_ssh2 -m1.jar'));
其他的
Ganymed_java_library = ' ganymed_ssh2 -m1';%包括自定义ganymed库
结束
Ganymed_java_library_zip = [ganymed_java_library '.zip'];
Ganymed_java_library_http = ";
其他的
选择CLEONDRIS或者google代码,不要两个都选
%来自cleondris
如果存在(“ganymed-ssh2-build250”、“dir”)
Ganymed_java_library = fileparts(which(' ganymed_ssh2 -build250'));
其他的
Ganymed_java_library = ' ganymed_ssh2 -build250';%包括自定义ganymed库
结束

迪帕克Ramaswamy

伟大的提交。大卫也非常乐于助人!

马里奥

这是一个很棒的包,允许SFTP与Matlab通信。

一开始,我在使用sftp_get函数时遇到了麻烦,但在David的及时反馈后,我设法做到了。
在我的例子中,为了让它工作,我需要改变ssh2_setupm上的107行:

Use_custom_ganymed_lib = 0;

Use_custom_ganymed_lib = 1;

并重新启动Matlab。

谢谢你,马里奥。

张裕干红

马丁

这就跟你问声好!这是一个非常有用的图书馆。

然而,当我在Mac上使用库并尝试在matlab中做uigetdir时,ssh库被加载,我得到一个有趣的java异常。还有其他人有这个问题吗?有解决办法吗?谢谢你,马丁

史蒂文脆

这太棒了!节省了很多时间!

但是,我想知道是否有一种方法可以只下载FTP数据的片段。换句话说,假设FTP上的文件每天都在更新。我如何下载更新,并将其附加到我的电脑上的文件,而不是下载所有过去的数据,和最近的数据在一个文件?

Dierk路透社

David,有没有一种方法可以给ssh2_command添加一个超时,在主机上的进程挂起的情况下释放会话?

最好,谢谢你的出色工作!

大卫弗里德曼

请,请,请不要把错误贴在评论区。

RB

大卫,我已经正确下载了所有文件,想通过sftp发送一个文件。

这些行执行正确
ssh2_conn = ssh2_config(HOSTNAME,USERNAME,PASSWORD);
ssh2_struct = ssh2_config(HOSTNAME,USERNAME,PASSWORD);
Ssh2_struct = sftp(Ssh2_struct);

有一个错误,当我试图执行这个-
Ssh2_struct = ssh2_command(Ssh2_struct,'ls');

使用ssh2_main时出错(第320行)
出现Java异常:
ioexception:执行请求失败。

ch.ethz.ssh2.channel.ChannelManager.requestExecCommand (ChannelManager.java: 707)

ch.ethz.ssh2.Session.execCommand (Session.java: 248)

原因:java.io.IOException:服务器拒绝请求。

ch.ethz.ssh2.channel.ChannelManager.waitForChannelSuccessOrFailure (ChannelManager.java: 191)

ch.ethz.ssh2.channel.ChannelManager.requestExecCommand (ChannelManager.java: 703)

...1

ssh2错误(第84行)
Ssh2_struct = ssh2_main(Ssh2_struct);

ssh2_command中的错误(第31行)
Ssh2_struct = ssh2(Ssh2_struct);

我使用这些文件在安装在Windows机器上的Matlab中启动Ubuntu模拟。作为命令,我发送。/file_name_of_the_script',这样这个脚本就会在Ubuntu中执行。重要的是使用bash解释器,而不是shell(因此第一行是“#!/bin/bash”)
重要的是,脚本文件首先加载所有所需的环境变量。这可以通过使用source"-命令来完成。在这之后,我再也没有任何麻烦运行我的模拟。
再次感谢David的帮助!

肯•坎贝尔

当我使用SFTP上传文件时,默认情况下公共读取设置是关闭的。这使我无法使用网络浏览器查看该文件。

David通过显式地设置remote_file_mode帮助我克服了这个问题。这招很管用。例如:

Ssh2_conn = ssh2_config(主机名,用户名,密码)
ssh2_conn。远程_file_mode = 0644
Ssh2_conn = scp_put(Ssh2_conn,test.html','www_folder','local_folder','new_name.html')
ssh2_conn = ssh2_close (ssh2_conn)

肯•坎贝尔

坚实的,有良好文件记录的包装。作者很快地回答了一个问题。强烈推荐。

奥列格•科马罗夫

此外,Ganymed .jar也可以在Maven上使用:http://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2/

奥列格•科马罗夫

你能把提交迁移到github,这样我就可以把它分叉,并包括在我的“Matlab API for WRDS”项目中吗?

大卫弗里德曼

你好,Saugat,我不回复技术帮助的评论,如果需要支持,你应该直接联系我。金宝app

Saugat

你好大卫,

我得到以下错误:

使用ssh2_main时出错(第86行)
错误:SSH2无法连接到SSH2主机- "localhost:8022"!

ssh2错误(第84行)
Ssh2_struct = ssh2_main(Ssh2_struct);

scp中的错误(第19行)
Ssh2_struct = ssh2(Ssh2_struct);

scp_put错误(第57行)
Ssh2_struct = scp(Ssh2_struct);

scp_simple_put中的错误(第55行)
ssh2_struct = scp_put(ssh2_struct, localFilename, localPath, localPath, remoteFilename);

泥炭

David的提交提供了我迫切需要的SSH功能来解决一些问题。这是我的救命稻草。

我在连接Windows客户端和运行在Mac上的服务器时遇到了问题。我最终通过使用公共私钥机制进行身份验证解决了这个问题。我还必须在Mac上生成密钥对,并将私钥带到Windows机器上,以使一切正常工作。

大卫弗里德曼

初苏能够通过这样做来解决问题:
在管理员帮助下,启用密码身份验证。例如,对于Fedora上的OpenSSH,编辑/etc/sshd/sshd_config并将“PasswordAuthentication”的值更改为“yes”,然后向守护进程发送HUP信号,以便它重新读取其配置。

Hatsue

我下载了它在Linux CentOS上使用,一开始,我有一些问题,但大卫一直支持我。金宝app现在它工作得很好!非常感谢善良的大卫!

光辉Ruparel

固定的错误!
我错过了javaaddpath命令!

非常感谢你的精彩投稿!!

光辉Ruparel

嘿,大卫,

当我尝试连接时,我在Matlab命令窗口中得到以下错误-

下载ganymed-ssh2-build250.zip
http://www.cleondris.ch/ssh2/ganymed-ssh2-build250.zip
使用urlreadwrite错误(第93行)
服务器没有找到与此请求匹配的资源。

urlwrite错误(第38行)
[f,status] = urlreadwrite(mfilename,catchErrors,url,filename,varargin{:});

ssh2_setup错误(第233行)
urlwrite (ganymed_java_library_http ganymed_java_library_zip);

ssh2_config_publickey中的错误(第26行)
Ssh2_struct = ssh2_setup();%的默认配置

如果你能帮我这个忙,我会很感激的!

问候,
光辉

大卫弗里德曼

嗨Enno,

不幸的是,保存日期和时间戳的支金宝app持不是用于SCP的Ganymed SSH2库的一部分。我看到的唯一替代方法是先通过SSH捕获日期和时间,然后在下载的文件上更改它。

Enno

你好大卫,

您的工具都像一个魅力,但有一种方法来保存日期和时间戳时,从远程获取文件?
SCP手册页指出-p选项应该做到这一点,但我不知道如何在ssh matlab脚本中使用它。

最好的问候,
Enno

大卫弗里德曼

嗨,克里斯,我的荣幸。

不幸的是,在使用scp或sftp时,不直接支持使用通配符“*”。金宝app我建议使用ssh使用通配符收集文件列表,然后使用scp或sftp下载解析后的列表。

克里斯多夫

非常感谢你的密码。这是可怕的。
顺便问一下,有办法在scp中使用野字符吗?

当我为scp尝试*时,它创建了一个名为“*”的文件

约书亚·卡迈克尔

包装看起来很棒;然而,我得到以下错误:
错误:SSH2无法连接到SSH2主机-“余弦”!

错误==> ssh2在84
Ssh2_struct = ssh2_main(Ssh2_struct);

错误==> ssh2_command在31
Ssh2_struct = ssh2(Ssh2_struct);

错误==> ssh2_simple_command在38
Ssh2_struct = ssh2_command(Ssh2_struct, command, enableprint);

但是,我*am*能够连接system()命令。任何想法吗?

Xiangrui李

伟大的工具!上传和下载速度比某些ftp客户端快得多。

这个包是伟大的-良好的文档,易于使用,可靠!供您参考,如果您想在编译的MATLAB程序中使用它,请在ssh2_setup中删除对JAVAADDPATH的调用。M文件,因为它们会导致函数错误并清除全局变量。相反,将ganymed文件夹存在或将被下载的路径(当时程序的当前路径)添加到matlabroot/toolbox/local/classpath.txt文件中。

Madhuresh

当我与开发人员就我的问题与这个功能联系时,我非常感谢他对我的查询的快速回应。

丹尼尔·西卡

你好大卫,

非常感谢您的帮助!
我会查一下FAQ。

大卫弗里德曼

如需支持金宝app,请直接与作者联系。

嗨,丹尼尔,

这个问题源于这样一个事实:您没有得到bash(或tcsh) shell,因此没有得到任何典型的变量。此外,您不能在此软件的交互模式下运行bash shell。

这对我来说也是一个问题,我必须创建一个“导出”变量的文件,在我登录后,我在发出任何语句之前包含一个“source”命令。

您可能想查看ganymed-ssh2常见问题解答http://www.cleondris.ch/opensource/ssh2/FAQ.html更多信息。

丹尼尔·西卡

这个套餐太棒了!

我试图在个人服务器上执行一个命令,但我遇到了一个问题。
我可以执行“cd /home/;ls -la;”这样的命令,但我不能执行“cd /home/;mpiexec -n np program”。当我在服务器shell中执行时,最后一个命令是正确的。
你能帮我吗?

大卫弗里德曼

嗨,麻省理工学院主任,我建议发送带有分叉修饰符的命令,即&,在命令后。希望您不需要等待命令完成,但如果您这样做,希望您可以检查要写入的文件。或者,您也可以像我一样把一些东西组合在一起,我在服务器上运行一个脚本,当它完成时输出一个文件。我有一个循环检查该文件,但与此同时,你可以运行其他东西(本地或远程)。

嗨,大卫,谢谢你这么棒的包裹。我正在玩你的程序的功能,因此有一个问题。
当我向外部服务器发送命令以开始模型计算时,matlab被抑制为“忙碌”状态并等待服务器的回答。有没有什么办法可以避免这个问题?非常感谢。

阿尔贝托。

非常好的包装。几年前我一直在找这个。现在我能够从远程服务器复制数据文件,然后自动分析到matlab中。很好! !非常感谢。

罗伯特·天使

非常好的包装。经过最后的修改,它也可以顺利地处理仅使用sftp的服务器。我非常感谢大卫·弗里德曼的支持金宝app
以及改进软件的承诺。

内森·汤姆林

哇,工作得很完美!我正在用matlab设计光刻掩模。现在我不需要不断手动上传文件了!

大卫弗里德曼

谢谢Jon, Nitay和Danilo。我更新了文件,加进了达尼洛的解决方案。

乔恩•道格拉斯

尼泰和达尼洛是对的。我刚刚升级到R2012a,现在我之前的修复不工作,而它在R2008b上。

Danilo的修复应该适用于所有情况…

达尼洛奥尔塔

达尼洛奥尔塔

“for jcp_index = 1:size(jcp,2)”在这里不起作用。只需将其替换为“for jcp_index = 1:length(jcp)”。问题解决了。

Nitay Megides

我很抱歉,但是这个修复导致配置函数在jcp中找不到jar文件(可能是matlab版本的问题?)

这个包中的一个函数有一个错误:
ssh2_setup.m
217行:
对于jcp_index = 1:size(jcp,1)

应该是:
对于jcp_index = 1:size(jcp,2)

MATLAB版本兼容性
使用R2009b创建
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!