分享
Go语言执行系统命令行命令(转)
yaoliang11 · · 6967 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
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
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信6967 次点击
上一篇:go类型断言
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
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