go如何执行linux命令

首先建立一个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 \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命令的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/246234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 03:39:35
下一篇 2025年11月4日 03:40:08

相关推荐

发表回复

登录后才能评论
关注微信