package ExecUtil import ( "dsTools/Utils/CommonUtil" "bufio" "fmt" "io" "os/exec" "strings" ) /** 功能:执行SHELL命令,并回显示结果 作者:黄海 时间:2020-01-19 */ 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 } /** 功能:执行一整行的命令 作者:黄海 时间:2020-01-21 */ func ExecCommandStr(commandName string){ //1、处理掉多余的空格 commandName= CommonUtil.DeleteExtraSpace(commandName) //2、拆开 var arr=strings.Split(commandName," ") //3、执行的命令 var cmd=arr[0] //4、参数数组 params := arr[1:len(arr)] //5、调用另一个实现 ExecCommand(cmd,params) }