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));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。