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令牌桶实现 [go-rate] 速率限制器

利用 go/ast 语法树做代码生成

go的值类型和引用类型1——传递和拷贝

go语言之并发

golang 之 struct能不能比较

goalng 结构体比较问题

go - 数组

golang 创建型设计模式 抽象工厂

分享一个编程电子书网址

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




打赏

取消

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

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

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

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

评论

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