首頁  >  文章  >  運維  >  go如何執行linux指令

go如何執行linux指令

PHPz
PHPz轉載
2023-05-13 15:10:172294瀏覽

先建立一個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("%s\n", outputBuf0.String())
}

以上是go如何執行linux指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除