Golang怎么执行cmd命令行


本文摘自php中文网,作者藏色散人,侵删。

下面由golang教程栏目给大家介绍Golang执行cmd命令行的方法,希望对需要的朋友有所帮助!

1. Golang执行系统命令使用 os/exec Command方法:

1

func Command(name string, arg ...string) *Cmd

第一个参数是命令名称,后面参数可以有多个命令参数。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

cmd := exec.Command("ls", "-a")

if stdout, err := cmd.StdoutPipe(); err != nil {     //获取输出对象,可以从该对象中读取输出结果

    log.Fatal(err)

}

defer stdout.Close()   // 保证关闭输出流

  

if err := cmd.Start(); err != nil {   // 运行命令

    log.Fatal(err)

}

  

if opBytes, err := ioutil.ReadAll(stdout); err != nil {  // 读取输出结果   

    log.Fatal(err)

} else {

    log.Println(string(opBytes))

}

2. 将命令的输出结果重定向到文件中:

1

2

3

4

5

6

7

8

9

10

stdout, err := os.OpenFile("stdout.log", os.O_CREATE|os.O_WRONLY, 0600)  

   if err != nil {

       log.Fatalln(err)

   }

   defer stdout.Close()

   cmd.Stdout = stdout   // 重定向标准输出到文件

   // 执行命令

   if err := cmd.Start(); err != nil {

       log.Println(err)

   }

3. cmd的Start和Run方法的区别:

阅读剩余部分

相关阅读 >>

golang 创建守护进程以及平滑重启

go调优神器trace介绍

go学习(第一天)

手撸golang 基本数据结构与算法 归并排序

golang 架构设计原则 里氏替换原则

golang 可以多继承吗

golang判断key是否存在map中的方法

golang ip地址字符串整数string int相互转换

golang不可重入函数实现

[go] go语言实战-为博客园增加gofly在线客服功能

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...