package command import ( "bufio" "fmt" "io/ioutil" "os/exec" ) func OnlyExec(cmdStr string) { cmd := exec.Command("/bin/bash", "-c", cmdStr) stdout, err := cmd.StdoutPipe() if err != nil { return } defer stdout.Close() if err := cmd.Start(); err != nil { return } cmd.Wait() return } func ExecResultStrArray(cmdStr string) []string { cmd := exec.Command("/bin/bash", "-c", cmdStr) stdout, err := cmd.StdoutPipe() if err != nil { fmt.Println(err) return nil } defer stdout.Close() if err = cmd.Start(); err != nil { fmt.Println(err) return nil } //str, err := ioutil.ReadAll(stdout) var networklist = []string{} outputBuf := bufio.NewReader(stdout) for { output, _, err := outputBuf.ReadLine() if err != nil { if err.Error() != "EOF" { fmt.Printf("Error :%s\n", err) } break } networklist = append(networklist, string(output)) } cmd.Wait() return networklist } func ExecResultStr(cmdStr string) string { cmd := exec.Command("/bin/bash", "-c", cmdStr) stdout, err := cmd.StdoutPipe() if err != nil { fmt.Println(err) return "" } defer stdout.Close() if err := cmd.Start(); err != nil { fmt.Println(err) return "" } str, err := ioutil.ReadAll(stdout) cmd.Wait() if err != nil { fmt.Println(err) return "" } return string(str) } //执行 lsblk 命令 func ExecLSBLK() []byte { output, err := exec.Command("lsblk", "-O", "-J", "-b").Output() if err != nil { return nil } return output } //执行 lsblk 命令 func ExecLSBLKByPath(path string) []byte { output, err := exec.Command("lsblk", path, "-O", "-J", "-b").Output() if err != nil { return nil } return output }