Go语言执行系统命令行命令(转)

yaoliang11 · · 3549 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
 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

本文来自:博客园

感谢作者:yaoliang11

查看原文:Go语言执行系统命令行命令(转)

入群交流(和以上内容无关):加入Go大咖交流群,免费领全套学习资料或添加微信:muxilin131420 备注:入群;或加QQ群:729884609

3549 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传