具体来说,我希望正确的语法通过Swift运行git clone并完成各种达尔文层的工作,例如运行tar压缩等。
在哪里可以获得Process()的使用信息?
基本上,我想做这样的事情: Process()。git克隆... Process()。tar ....
我想方便地与Darwin层一起做基本的事情。
最好同步执行此操作,以便在unix层完成其任务后继续处理。
答案 0 :(得分:1)
您可以从Apple's Documentation中找到有关Process
的更多信息,也可以在GitHub上查看开放源代码版本的源代码。
我写了一个简短的示例,说明如何使用Process
中要查找的语法编写一些代码。您可以更改该函数接受参数的方式,以便它接受字符串数组而不是特定的命名参数。
extension Process {
private static let gitExecURL = URL(fileURLWithPath: "/usr/bin/git")
func clone(repo: String, path: String) throws {
executableURL = Process.gitExecURL
arguments = ["clone", repo, path]
try run()
}
}
try! Process().clone(repo: "git@github.com:user/repo.git", path: "path/to/repo")
据我所知,除了字符串以外,没有其他方法可以将参数传递给进程。