go如何执行linux命令
珍惜时间,勤奋学习!今天给大家带来《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("%s\n", outputBuf0.String())
}
本篇关于《go如何执行linux命令》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注米云公众号!
