我花了大量的研究如何在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在本例中正在執行的任務,如果沒有它,則需要替換)。 –