如何从Cocoa调用的Admin Privileges bash脚本获取输出?

时间:2011-10-10 08:13:33

标签: objective-c macos cocoa shell

我正在使用以下代码,使用Admin Privileges启动bash命令。我需要能够在使用它之后将输出存储在Array中。我怎样才能获得输出?

 char *command1= "/usr/bin/dscl";

char *args1[] = {".","-read","/SharePoints/FolderName","directory_path",nil};

    FILE *pipe = nil;

                            err = AuthorizationCreate(nil,
                              kAuthorizationEmptyEnvironment,
                              kAuthorizationFlagDefaults,
                              &authorizationRef);

        err = AuthorizationExecuteWithPrivileges(authorizationRef,
                                               command,
                                              kAuthorizationFlagDefaults,
                                              args1,
                                              &pipe);    

输出应该是某些共享文件夹的文件夹-Path。 我怎样才能得到它,并存储在数组中?

P.S。在NSTask中可以使用NSPipe,但这里是文件类型。

非常感谢!

1 个答案:

答案 0 :(得分:1)

Read from FILE *返回给您的POSIX文件句柄(AuthorizationExecuteWithPrivileges)。完成后别忘了关闭它。