如何使用Swift从cocoa应用程序运行shell脚本?

时间:2017-03-06 09:58:55

标签: swift shell cocoa terminal

如何使用Swift从cocoa应用程序运行shell脚本?

我有一个shell脚本file.sh,我想在我的cocoa应用程序中运行。我怎么能用Swift做到这一点?

任何帮助表示赞赏! :)

2 个答案:

答案 0 :(得分:6)

您可以使用NSTaskAPI reference here)。

NSTask需要launchPath指向您的脚本(除其他外)。它也可以使用arguments数组,当您准备好启动任务时,您可以在其上调用launch()

所以......有些东西:

var task = NSTask()
task.launchPath = "path to your script"
task.launch()

您想了解更多

吗?

您可以查看:

希望对你有所帮助。

答案 1 :(得分:4)

我在网上找到了这个功能:

ON DELETE SET NULL

这是电话:

@discardableResult
private func shell(_ args: String) -> String {
    var outstr = ""
    let task = Process()
    task.launchPath = "/bin/sh"
    task.arguments = ["-c", args]
    let pipe = Pipe()
    task.standardOutput = pipe
    task.launch()
    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    if let output = String(data: data, encoding: .utf8) {
        outstr = output as String
    }
    task.waitUntilExit()
    return outstr
}