首頁 > 後端開發 > Golang > 主體

如何透過Go程式執行內建的Linux Shell指令?

Mary-Kate Olsen
發布: 2024-11-26 17:10:14
原創
177 人瀏覽過

How Can I Execute Built-in Linux Shell Commands from a Go Program?

從Go 程式執行Linux Shell 內建指令

為了驗證Linux 上的程式是否存在,開發人員在嘗試執行下列操作時遇到錯誤透過Go 程式執行「命令」實用程式。這個錯誤源自於「command」是一個內建的Linux指令,而不是系統$PATH中的可執行二進位。問題出現了:如何在 Go 程式中執行內建 Linux 指令?

原生 Go 解決方案:exec.LookPath

根據提供的資源中的建議, 「指令」實用程式是 shell 內建的。對於原生 Go 執行,exec.LookPath 函式提供了一個解決方案。此函數在系統的可執行路徑中搜尋指定命令,如果找到則傳回完整路徑。

path, err := exec.LookPath("command")
if err != nil {
    // Handle error
}
fmt.Println(path) // Prints the full path to the command
登入後複製

替代方法

如果原生 Go方法不適合,有替代方法:

  • 使用系統二進位:
cmd := exec.Command("which", "foobar")
out, err := cmd.Output()
if err != nil {
    // Handle error
}
fmt.Println(string(out)) // Prints the full path to the program (if found)
登入後複製
  • 從Shell 執行指令:從Shell
cmd := exec.Command("/bin/bash", "-c", "command -v foobar")
out, err := cmd.Output()
if err != nil {
    // Handle error
}
fmt.Println(string(out)) // Prints the full path to the program (if found)
登入後複製

以上是如何透過Go程式執行內建的Linux Shell指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板