GO语言运行cmd命令逐行实时输出执行过程
发布时间:2020-12-16 18:44:55 所属栏目:大数据 来源:网络整理
导读:Golang运行cmd命令逐行实时输出执行过程,注意,不是一次输出所有的内容,而是按照执行的过程,逐行逐行的实时显示出来 代码如下: package mainimport ("bufio""fmt""io""os/exec")func main() {command := "ls"params := []string{"-l"}//执行cmd命令: ls
|
Golang运行cmd命令逐行实时输出执行过程,注意,不是一次输出所有的内容,而是按照执行的过程,逐行逐行的实时显示出来 代码如下: package main
import (
"bufio"
"fmt"
"io"
"os/exec"
)
func main() {
command := "ls"
params := []string{"-l"}
//执行cmd命令: ls -l
execCommand(command,params)
}
func execCommand(commandName string,params []string) bool {
cmd := exec.Command(commandName,params...)
//显示运行的命令
fmt.Println(cmd.Args)
stdout,err := cmd.StdoutPipe()
if err != nil {
fmt.Println(err)
return false
}
cmd.Start()
reader := bufio.NewReader(stdout)
//实时循环读取输出流中的一行内容
for {
line,err2 := reader.ReadString('n')
if err2 != nil || io.EOF == err2 {
break
}
fmt.Println(line)
}
cmd.Wait()
return true
}
编译运行效果如图:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
