pytanght
2/14/2019 - 1:37 AM

Usage of golang exec

usage of golang exec command

func (s *SCMClient) Push2Center(sourceFile, targetFile string) {
	command := fmt.Sprintf("%s -a %s:%s -t scm -s %s -d %s -x 60 -o 132", SDN_SEND_SCRIPT, s.CenterDomain, s.Port, sourceFile, targetFile)
	cmd := exec.Command(command)
	var stdout, stderr bytes.Buffer
	cmd.Stdout = &stdout
	cmd.Stderr = &stderr
	err := cmd.Run()
	if err != nil {
		glog.V(2).Info("[Command exec] Error: %v %q %q", err, stdout.Bytes(), stderr.Bytes())
		return
	}

	outs := string(stdout.Bytes())
	errs := string(stderr.Bytes())

	if len(outs) == 0 || len(errs) != 0 {
		glog.V(2).Info("[Command exec] Error: %s %s", outs, errs)
		return
	}

	glog.V(2).Info("Scm push result: ", string(stdout.Bytes()))
}