Maison > Article > Opération et maintenance > Comment exécuter des commandes Linux en Go
Créez d'abord une valeur de type exec.Cmd, puis exécutez la méthode Start de ce type pour démarrer la commande et obtenir le tube de sortie de cette commande. Le type de tube est io.ReadCloser, et le contenu de sortie est obtenu. à travers le tuyau.
package main import ( "bytes" "fmt" "io" "os/exec" ) func main() { cmd0 := exec.Command("echo", "-n", "my first command") //启动命令 if err := cmd0.Start(); err != nil { fmt.Printf("command can not start %s \n", err) return } //获取输出管道 stdout0, err := cmd0.StdoutPipe() if err != nil { fmt.Printf("couldn't stdout pipe for command %s \n", err) return } var outputBuf0 bytes.Buffer for { tempOutput := make([]byte, 2048) n, err := stdout0.Read(tempOutput) if err != nil { if err == io.EOF { break } else { fmt.Printf("couldn't read data from pip %s \n", err) return } } if n > 0 { outputBuf0.Write(tempOutput[:n]) } } fmt.Printf("%s\n", outputBuf0.String()) }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!