package main import ( "os" "os/exec" "strings" ) // RunMapCidrAndGetResults returns a list of results func RunMapCidrAndGetResults(question string, debug bool, extra ...string) ([]string, error) { cmd := exec.Command("bash", "-c") cmdLine := `echo "` + question + `" | ./mapcidr ` cmdLine += strings.Join(extra, " ") if debug { cmdLine += " -debug" cmd.Stderr = os.Stderr } else { cmdLine += " -silent" } cmd.Args = append(cmd.Args, cmdLine) data, err := cmd.Output() if err != nil { return nil, err } parts := []string{} items := strings.Split(string(data), "\n") for _, i := range items { if i != "" { parts = append(parts, i) } } return parts, nil }