How could I pass a dynamic set of arguments to Go's command exec.Command?
29,985
Like this:
args := []string{"what", "ever", "you", "like"}
cmd := exec.Command(app, args...)
Have a look at the language and tutorial on golang.org.
Author by
Harry Lawrence
Updated on October 21, 2021Comments
-
Harry Lawrence over 2 years
I came across a question on here relating to arguments being passed to Go's
exec.Command
function, and I was wondering if there was a way do pass these arguments dynamically? Here's some sample code from sed question:package main import "os/exec" func main() { app := "echo" //app := "buah" arg0 := "-e" arg1 := "Hello world" arg2 := "\n\tfrom" arg3 := "golang" cmd := exec.Command(app, arg0, arg1, arg2, arg3) out, err := cmd.Output() if err != nil { println(err.Error()) return } print(string(out)) }
So as you can see each arg is defined above as
arg0
,arg1
,arg2
andarg3
. They are passed into theCommand
function along with the actual command to run, in this case, theapp
var.What if I had an array of arguments that always perhaps had an indeterministic count that I wanted to pass through. Is this possible?