在Go 中使用外部系統命令時,您可能會遇到需要捕獲其輸出並將其存儲在程序中的情況。雖然 exec 和 os 套件提供了用於進程執行的各種命令,但它們通常需要檔案參數來處理標準輸入/輸出。本文介紹了一種將命令輸出捕獲為字串的簡化方法。
package main import ( "fmt" "log" "os/exec" ) func main() { out, err := exec.Command("date").Output() if err != nil { log.Fatal(err) } fmt.Printf("The date is %s\n", out) }
在此範例中,exec.Command("date").Output() 用於執行 date 指令並在 out 變數中擷取其輸出。 Output() 方法以 []byte 切片的形式傳回指令的標準輸出,可以使用 string(out) 輕鬆將其轉換為字串。
或者,您可以使用 CombinedOutput() 而不是 Output(),它同時傳回標準輸出和標準錯誤。此外,exec.Command 函數可讓您設定其他參數,例如命令的工作目錄、環境變數和輸入。
以上是如何在 Go 中將系統命令輸出捕獲為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!