Parse line as shell words.
args, err:=shellwords.Parse("./foo --bar=baz")
// args should be ["./foo", "--bar=baz"]envs, args, err:=shellwords.ParseWithEnvs("FOO=foo BAR=baz ./foo --bar=baz")
// envs should be ["FOO=foo", "BAR=baz"]// args should be ["./foo", "--bar=baz"]os.Setenv("FOO", "bar")
p:=shellwords.NewParser()
p.ParseEnv=trueargs, err:=p.Parse("./foo $FOO")
// args should be ["./foo", "bar"]p:=shellwords.NewParser()
p.ParseBacktick=trueargs, err:=p.Parse("./foo `echo $SHELL`")
// args should be ["./foo", "/bin/bash"]shellwords.ParseBacktick=truep:=shellwords.NewParser()
args, err:=p.Parse("./foo `echo $SHELL`")
// args should be ["./foo", "/bin/bash"]This is based on cpan module Parse::CommandLine.
under the MIT License: http://mattn.mit-license.org/2017
Yasuhiro Matsumoto (a.k.a mattn)