我花了大量的研究如何在Swift中运行特定的终端/ shell命令。当我在Swift中运行终端/ shell命令时发生了什么?
问题是,我害怕实际运行任何代码,除非我知道它的作用。 (我过去执行终端代码的运气非常糟糕。)
我发现this question这似乎向我展示了如何运行命令,但我对Swift完全陌生,我想知道什么每一行都有。
这段代码的每一行是做什么的?
let task = NSTask()
task.launchPath = "/bin/sh"
task.arguments = ["-c", "rm -rf ~/.Trash/*"]
task.launch()
task.waitUntilExit()
大多数时候,顺便说一下,这是优选的产卵一个明确的argv *无*涉及一个壳的方法;然而,在这里,你依靠shell来为你做globbing(在调用'rm'之前将'*'扩展成文件名列表)。 –
(将'〜'扩展到用户的主目录中也是shell在本例中正在执行的任务,如果没有它,则需要替换)。 –