【Go语言】Golang调用shell命令的实现

【做业务,需要用golang 去调用shell 命令,找到了一些资料,现在加以总结,并对作者表示感谢!
原文来源:http://blog.csdn.net/hanj4096/article/details/18196395  】

 
package main

import (
“bytes”
“fmt”
“log”
“os/exec” //这个包是主要用来调用cmd命令
)

//调用系统指令的方法,参数s 就是调用的shell命令
func system(s string) {
cmd := exec.Command(“/bin/sh”, “-c”, s) //调用Command函数
var out bytes.Buffer //缓冲字节

cmd.Stdout = &out //标准输出
err := cmd.Run() //运行指令 ,做判断
if err != nil {
log.Fatal(err)
}
fmt.Printf(“%s”, out.String()) //输出执行结果
}

func main() {
system(“who “) //调用函数,参数是指令,可以有多条
}

这样在主函数中调用system函数的时候,传入一个shell指令,就可以实现go调用shell ,用golang中的out 来讲结构输出。

有Golang调用shell的需求是意味着你是Linux环境并且Golang能够很好的跑起来,下一篇博客会谈一谈在windows下面只用Linux虚拟机,搭建Golang环境,使用shell和Vim等等。

强烈建议各位朋友学习一下shell!!!

 

刘凯宁@C2P
2014年7月11日

 

Share

【Go语言】Golang调用shell命令的实现》上有 1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>