■实例说明
我们经常需要执行本地shell命令,或者是执行其他二进制可执行文件
1)执行本地二进制可执行文件
2)阻塞执行,等待执行完成再继续
■实例代码
[Golang] 纯文本查看 复制代码 package main
import (
"fmt"
"os/exec"
)
const (
filePath = "/Users/test"
)
func main() {
// 功能:在filePath目录查找,1⃣️211开头,.go结尾的文件,并且统计这些文件所有非空行的总行数
fileName := "211*.go"
cmd := "find " + filePath + " -name \"" + fileName + "\" |xargs cat|grep -v ^$|wc -l"
shell := exec.Command("/bin/bash", "-c", cmd)
// CombinedOutput :执行命令,并且将标准输出和标准错误输出,返回内容是[]byte格式
// output, _ := shell.Output(), 这种方式则只输出标准输出,建议使用带标注错误的,因为我们拼写的cmd命令可能有些错误信息,通过标准错误我们可以发现这些错误
output, _ := shell.CombinedOutput()
fmt.Println(string(output))
}
|