go如何執行linux命令

首先建立一個exec.Cmd類型的值,然后執行這個類型的Start方法就可以啟動命令了,獲取此命令的輸出管道,這個管道類型是io.ReadCloser,通過管道獲取輸出內容。

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("%sn", outputBuf0.String()) }

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享