本文小编为大家详细介绍“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命令”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注天达云行业资讯频道。