构建一个Mac OS X Cocoa应用程序,用于运行带参数的shell脚本

时间:2018-05-07 21:41:24

标签: swift shell cocoa rsync

我正在Swift中构建一个使用rsync备份数据的Mac OS X Cocoa应用程序。该应用程序让用户在Finder中选择源和目标,并且它还能够运行脚本(具有硬编码的源和目标)。但我无法弄清楚如何将源和目标作为参数传递给脚本。

脚本运行于:

@IBAction func runScript(_ sender: NSButton) {
    if sourcePath != nil && destinationPath != nil {
        sender.isEnabled = false
        let path = "/bin/bash"
        let arguments = ["/path/to/script"]
        let task = Process.launchedProcess(launchPath: path, arguments: arguments as! [String])
        task.waitUntilExit()
        sender.isEnabled = true
    }
...
}

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

只需将参数添加到arguments数组:

    let arguments = ["/path/to/script", sourcePath, destinationPath]