对于一个可执行文件,其获取的os.Args一般为调用该可执行文件的命令行,如:
// File: args.go
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
}
执行:
# ./args aa bb
[./args aa bb]
// File: execcmd.go
package main
import (
"bytes"
"fmt"
"os/exec"
)
func main() {
cmd := &exec.Cmd{
Path: "./args",
Args: []string{"aa", "bb"},
}
var out bytes.Buffer
cmd.Stdout = &out
cmd.Run()
fmt.Println(out.String())
}
# ./execcmd
[aa bb]