MacOS系统支持的命令行可以在/usr/bin下查看,使用-help查看帮助,eg:mdfind -help.
下面介绍NSTask代码中使用命令行,直接上代码,依旧是以mdfind为例:
NSTask *findTask = [[NSTask alloc] init];
[findTask setLaunchPath:@"/usr/bin/mdfind"];
[findTask setArguments:@[@"-name",@"微信"]];
NSPipe*p = [NSPipe pipe];
[findTask setStandardOutput:p];
[findTask launch];
[findTask waitUntilExit];
if(findTask.terminationStatus!=0) {
kSafeBlock(action, nil, [self errorWithMsg:@"未查找到文件"]);
return;
}
获取执行结果:
NSData *data = [[[findTask standardOutput] fileHandleForReading] readDataToEndOfFile];
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSArray *array = [str componentsSeparatedByString:@"\n"];
if(array.count==0) {
kSafeBlock(action, nil, [self errorWithMsg:@"未查找到文件"]);
return;
}
以上内容只作为学习笔记