從Cocoa應用程序執行終端命令如何執行終端命令(如grep)從我的目標-C可可申請?
3 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
這個runCommand方法不需要腳本文件,只需運行一個命令行:
-?(NSString?*)runCommand:(NSString?*)commandToRun{ ????NSTask?*task?=?[[NSTask?alloc]?init]; ????[task?setLaunchPath:@"/bin/sh"]; ????NSArray?*arguments?=?[NSArray?arrayWithObjects: ??????????????????????????@"-c"?, ??????????????????????????[NSString?stringWithFormat:@"%@",?commandToRun], ??????????????????????????nil]; ????NSLog(@"run?command:%@",?commandToRun); ????[task?setArguments:arguments]; ????NSPipe?*pipe?=?[NSPipe?pipe]; ????[task?setStandardOutput:pipe]; ????NSFileHandle?*file?=?[pipe?fileHandleForReading]; ????[task?launch]; ????NSData?*data?=?[file?readDataToEndOfFile]; ????NSString?*output?=?[[NSString?alloc]?initWithData:data?encoding:NSUTF8StringEncoding]; ????return?output;}
您可以這樣使用這個方法:
NSString?*output?=?runCommand(@"ps?-A?|?grep?mysql");
- 3 回答
- 0 關注
- 929 瀏覽
添加回答
舉報
0/150
提交
取消