package dns import ( "bytes" "os/exec" "k8s.io/klog/v2" ) func Execute(shell string, arg ...string) (bool, error) { var outb, errb bytes.Buffer cmd := exec.Command(shell, arg...) cmd.Stdout = &outb cmd.Stderr = &errb err := cmd.Run() klog.Infof("out:\n%s\n", outb.String()) if err != nil { klog.Errorf("Script returned error:\nerr:\n") klog.Errorf("%s\n============\n", err) return false, err } if errb.String() != "" { klog.Errorf("stderr:\n%s============\n", errb.String()) } klog.Infof("Script returned success\n") return true, nil }