標籤:
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 []string22 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 return32 }33 fmt.Fprintf(os.Stdout, "Result: %s", buf)34 }
來自http://outofmemory.cn/code-snippet/1125/Go-language-execution-xitongmingling-row-command
Go語言執行系統命令列命令(轉)