您的位置:首页 > 技术中心 > 运维 >

go如何执行linux命令

时间:2023-05-13 22:32

首先建立一个exec.Cmd类型的值,然后执行这个类型的Start方法就可以启动命令了,获取此命令的输出管道,这个管道类型是io.ReadCloser,通过管道获取输出内容。

package mainimport (  "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 
", err)  return  }  //获取输出管道  stdout0, err := cmd0.StdoutPipe()  if err != nil {  fmt.Printf("couldn't stdout pipe for command %s 
", 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 
", err)    return    }  }  if n > 0 {    outputBuf0.Write(tempOutput[:n])  }  }  fmt.Printf("%s
", outputBuf0.String())}

以上就是go如何执行linux命令的详细内容,更多请关注Gxl网其它相关文章!

热门排行

今日推荐

热门手游