2011-10-10 46 views
0

我正在使用下面的代碼來啓動帶有管理特權的bash命令。在使用它之後,我需要能夠在Array中存儲輸出。我怎樣才能獲得輸出?如何從Admin Priveleges bash腳本獲得輸出,從Cocoa調用?

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);  

輸出應該是某個共享文件夾的文件夾路徑。 我怎樣才能得到它,並存儲在數組中?

P.S.在NSTask中可以使用NSPipe,但這裏是File類型。

非常感謝!

+1

爲什麼不將輸出重定向到tmp文件。然後編寫處理文件的腳本非常簡單。祝你好運。 – shellter

+0

我是編程新手。你能告訴它細節嗎?我使用管理員權限運行Cocoa APP中的腳本。我需要那個輸出。但無法從我的APP獲取輸出 – User1234

+0

我認爲您需要爲communicationsPipe參數傳遞有效的文件結構,而不是指向nil的指針。 – paulmelnikow

回答

1

Read from將返回給您的POSIX文件句柄(FILE *)。完成後請不要忘記關閉它。

+0

感謝它現在的作品 – User1234