从Objective-C运行Shell脚本

3
我想运行一个在NSTextView中的shell脚本。我知道可以使用NSTask来做到这一点,但是我想知道如果脚本只存在于内存中(文本视图),最好的方法是什么。

我应该暂时将其写入磁盘还是以字符串直接运行?

而且,我传递给NSTask哪些参数?我需要提取shebang行并将其作为launchPath吗?


您可以使用NSArray传递参数,参见setArguments方法(或直接使用launchedTaskWithLaunchPath:arguments:)。 - Ramy Al Zuhouri
1个回答

5
你可以将/bin/bash作为你的NSTask执行,并将setStandardInput设置为NSPipe。 然后通过管道的fileHandleForWriting写入包含脚本的NSString,以避免在磁盘上创建文件。

NSString必须是UTF-8编码吗?NSFileHandleForWriting需要一个NSData。 - Nicolas Manzini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接