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如何实现协程?

golang regex:反向引用

手撸golang go与微服务 saga模式之9 小结/gitee源码

2021-02-22

golang反射用于什么场景

详解golang string和[]byte的对比

golang反射重要吗

2021-03-12:go中,如何确定有没有内存泄露,系统里怎么去监控整体的运行情况,日志是怎么处理

go 解析日期格式-解决 parsing time xx as xx: cannot parse xx as xx 错误

golang单元测试踩坑系列(一)

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




打赏

取消

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

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

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

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

评论

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