这是我的代码:
task = [[NSTask alloc] init];
[task setCurrentDirectoryPath:@"/applications/jarvis/brain/"];
[task setLaunchPath:@"/applications/jarvis/brain/server.sh"];
NSPipe * out = [NSPipe pipe];
[task setStandardOutput:out];
[task launch];
[task waitUntilExit];
[task release];
NSFileHandle * read = [out fileHandleForReading];
NSData * dataRead = [read readDataToEndOfFile];
NSString * stringRead = [[[NSString alloc] initWithData:dataRead encoding:NSUTF8StringEncoding] autorelease];
所以我试图复制这个:
cd /applications/jarvis/brain/
./server.sh
但是在objective-c中使用NSTask。
但是,由于某种原因,当我运行此代码时,stringRead 没有返回任何内容。当我启动 .sh 文件时,它应该返回终端返回的内容。正确的?
有任何想法吗?
以利亚