执行Go代码时可以附加参数,包括要执行的命令和给命令的参数
代码如下:
package main import ( "os" "os/exec" "fmt" "flag" "strings" ) func main() { command := flag.String("cmd", "pwd", "Set the command.") args := flag.String("args", "", "Set the args. (separated by spaces)") flag.Usage = func() { fmt.Fprintf(os.Stderr, "Usage: %s [-cmd <command>] [-args <the arguments (separated by spaces)>]\n", os.Args[0]) flag.PrintDefaults() } flag.Parse() fmt.Println("Command: ", *command) fmt.Println("Arguments: ", *args) var argArray []string if *args != "" { argArray = strings.Split(*args, " ") } else { argArray = make([]string, 0) } cmd := exec.Command(*command, argArray...) buf, err := cmd.Output() if err != nil { fmt.Fprintf(os.Stderr, "The command failed to perform: %s (Command: %s, Arguments: %s)", err, *command, *args) return } fmt.Fprintf(os.Stdout, "Result: %s", buf) }
原创文章,作者:GUIQJ,如若转载,请注明出处:https://www.beidanyezhu.com/a/28966.html