Thanks for Stderr. I would like to do a recursive copy of a directory (similar to cp -r ), directory can contain files (binaries or text files) and directories.
I now see exit status 1: cp: ./*.json: No such file or directory Code: //ExecuteCommandWithOuput will execute cmd passed as argument and display output. func ExecuteCommandWithOuput(cmd *exec.Cmd) { var out bytes.Buffer var stderr bytes.Buffer cmd.Stdout = &out cmd.Stderr = &stderr err := cmd.Run() if err != nil { fmt.Println(fmt.Sprint(err) + ": " + stderr.String()) return } fmt.Println("Result: " + out.String()) } On Monday, January 16, 2017 at 7:51:20 PM UTC-8, kortschak wrote: > > Before answering the questions below, you should know that exec.Command > will not do shell glob expansion since it does not invoke commands via > a shell. If you want to do that you can either invoke via a shell or do > the globbing yourself with filepath.Glob[1]. > > 1. You can capture the combined output or stderr using the exec.Cmd > CombinedOutput method or Stderr field respectively. > 2. exec.Command does not know anything about recursive copy of > directories, it just invokes commands. > 3. This depends on exactly what it is that you are trying to achieve. > > [1]https://golang.org/pkg/path/filepath/#Glob > > On Mon, 2017-01-16 at 13:35 -0800, Deepak Jain wrote: > > util.ExecuteCommandWithOuput(exec.Command("cp", "-r", "./*.json", > > artifact. > > dir)) > > > > func ExecuteCommandWithOuput(cmd *exec.Cmd) { > > output, err := cmd.Output() > > if err != nil { > > log.Print("Error executing ", cmd.Args, err) > > } > > fmt.Print(string(output)) > > } > > > > > > Output > > > > 2017/01/16 13:26:35 Error executing [cp -r ./*.json myartifact] exit > > status > > 1 > > > > > > Questions > > 1. How do i get details of complete error message on failure of cp > > command > > ? I did have err != nill and Print err > > 2. Does exec.Command not support copy of files and recursive copy of > > directories ? > > 3. Any suggestions how i implement copy of files and recursive copy > > of > > directories ? > > > > I have just started adopting Go and hence a new comer with Go. > > Regards, > > Deepak > > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.