在Golang 中使用exec.Command 執行指令
使用Go 和goroutine 時,exec.Command() 函數通常用於執行系統命令。然而,當嘗試執行涉及透過 shell 語法連結的多個程式的複雜 shell 腳本時,就會出現困難。
要解決這個問題,了解 exec.Command() 直接呼叫核心來執行指定進程是至關重要的,繞過 shell 的腳本解釋。當將 shell 腳本作為字串傳遞時,核心無法解釋用於將程式連結在一起的 shell 語法。
因此,為了成功執行shell 腳本,Go 提供了更合適的方法:
cmd := exec.Command("/bin/sh", "-c", "sudo find ...")
在這個更新的程式碼中,「/bin/sh」是負責執行shell腳本的解釋器,“-c”代表執行命令,其中shell腳本作為參數提供給解釋器shell。
透過使用這種方法,Go 可以有效地執行使用者提供的複雜 shell 腳本,使他們能夠執行涉及多個程式和 shell 命令的任務。
以上是如何使用 Go 的 `exec.Command()` 執行複雜的 Shell 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!