繁体   English   中英

在Cocoa OSX中执行SSHFS脚本

[英]Execute SSHFS script in Cocoa OSX

我在终端中使用了此命令,它可以成功安装驱动器。 现在,我想将此命令放在Cocoa应用程序中,以将驱动器装入我的Cocoa应用程序中,但我不知道该如何调用。 无论如何,是否可以将此命令放入脚本并调用脚本? 如果放置脚本,我们需要为其输入参数。 请建议。 非常感谢

sshfs -p 12001 abc@host.example.com:/host/root testSSHFS

更新:

我尝试了以下代码,但出现错误,但是在终端上尝试时,它可以成功安装驱动器。

remote host has disconnected
mount_osxfusefs: failed to mount /Volumes/TEST_DRIVE@/dev/osxfuse4: Socket is not connected

这是我使用的代码:

NSTask *task = [[NSTask alloc] init];

[task setLaunchPath:@"/opt/local/bin/sshfs"];
[task setArguments:@[@"-p 12000", @"600252@abc.com:/test", @"/Volumes/TEST_DRIVE",@"-oauto_cache,reconnect,defer_permissions,negative_vncache,noappledouble,volname=TEST_DRIVE"]];

NSPipe *inPipe = [NSPipe pipe];
[task setStandardInput:inPipe];

NSPipe *outPipe = [NSPipe pipe];
[task setStandardOutput:outPipe];

NSFileHandle *writer = [inPipe fileHandleForWriting];
NSFileHandle *reader = [outPipe fileHandleForReading];

[task launch];

//Wait for the password prompt on reader [1]
NSString* password = @"d6b0ab7f1c8ab8f514db9a6d85de160a";
NSData *passwordData = [password dataUsingEncoding:NSUTF8StringEncoding];
[writer writeData:passwordData];

[task waitUntilExit];

请建议。 谢谢

像这样:

NSTask *task = [[NSTask alloc] init];

[task setLaunchPath:@"sshfs"];
[task setArguments:@[@"-p 12001", @"abc@host.example.com:/host/root", @"testSSHFS"]];

[task launch];
[task waitUntilExit];

我尚未对此进行测试,因此可以将其作为指南。

您可能必须提供sshfs-setLaunchPath:的完整路径。 您可能还需要提高自己的论点。 我不知道"-p 12001"应该是一两个参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM