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 } 编译运行效果如图:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |