1 package main
2
3 import (
4 "os"
5 "os/exec"
6 "fmt"
7 "flag"
8 "strings"
9 )
10
11 func main() {
12 command := flag.String("cmd", "pwd", "Set the command.")
13 args := flag.String("args", "", "Set the args. (separated by spaces)")
14 flag.Usage = func() {
15 fmt.Fprintf(os.Stderr, "Usage: %s [-cmd <command>] [-args <the arguments (separated by spaces)>]\n", os.Args[0])
16 flag.PrintDefaults()
17 }
18 flag.Parse()
19 fmt.Println("Command: ", *command)
20 fmt.Println("Arguments: ", *args)
21 var argArray []string
22 if *args != "" {
23 argArray = strings.Split(*args, " ")
24 } else {
25 argArray = make([]string, 0)
26 }
27 cmd := exec.Command(*command, argArray...)
28 buf, err := cmd.Output()
29 if err != nil {
30 fmt.Fprintf(os.Stderr, "The command failed to perform: %s (Command: %s, Arguments: %s)", err, *command, *args)
31 return
32 }
33 fmt.Fprintf(os.Stdout, "Result: %s", buf)
34 }
来自http://outofmemory.cn/code-snippet/1125/Go-language-execution-xitongmingling-row-command
有疑问加站长微信联系(非本文作者)