go语言中os/exec包的学习与使用
Posted 两脚任从行处来,一灵常与气相随。有时四大熏熏醉,借问青天我是
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言中os/exec包的学习与使用相关的知识,希望对你有一定的参考价值。
package main; import ( "os/exec" "fmt" "io/ioutil" "bytes" ) func main() { //在环境变量path中查找可执行二进制文件 //返回完整路径或者相对于当前目录的一个相对路径 file, _ := exec.LookPath("go"); fmt.Println(file); //返回一个cmd cmd := exec.Command("go", "version"); //执行命令,并返回标准输出和错误输出 out, _ := cmd.CombinedOutput(); fmt.Println(string(out)); //创建一个cmd cmd2 := exec.Command("ping", "www.baidu.com"); buf := bytes.Buffer{}; //将cmd2的标准输出设置为buf cmd2.Stdout = &buf; //运行命令,阻塞直到完成 cmd2.Run(); fmt.Println(buf.String()); //创建一个cmd cmd3 := exec.Command("ping", "www.baidu.com"); //获取命令在start后标准输出管道 out3, _ := cmd3.StdoutPipe(); //执行命令 cmd3.Start(); //读取管道中所有数据 data3, _ := ioutil.ReadAll(out3); //等待命令执行完成 cmd3.Wait(); fmt.Println(string(data3)); }
以上是关于go语言中os/exec包的学习与使用的主要内容,如果未能解决你的问题,请参考以下文章